Перейти к содержимому
Калькуляторы

NAT и прозрачный прокси на pf (FreeBSD)

Есть сервер с двумя интерфейсами, $if_int и $if_wifi. На $if_int есть интернет, на $if_wifi подключены клиенты, <hotspot> — IP-адреса клиентов.

Нужно http-подключения клиентов пускать через прокси-сервер (на том же сервере, на порту 3128), а https-подключения натить.

Сделал так:

...
svc_nat_tcp = "{ 443 }"
svc_proxy_tcp = "{ 80 }"
svc_proxy_udp = "{ 53 }"
...
nat on $if_wifi proto tcp from <hotspot> to !$if_wifi port $svc_nat_tcp -> $if_int:0
rdr on $if_wifi proto tcp from <hotspot> to !$if_wifi port $port_www -> $if_wifi port 3128
pass out on $if_wifi from $if_wifi to 10.10.0.0/24
pass in on $if_wifi proto udp from 10.10.0.0/24 to $if_wifi port 1812
pass in on $if_wifi proto tcp from <hotspot> to $if_wifi port $svc_proxy_tcp
pass in on $if_wifi proto udp from <hotspot> to $if_wifi port $svc_proxy_udp

но что-то не работает. Где ошибся?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

На порт 3128 тоже нужно разрешать входящие подключения.

"$if_int:0" - тоже как то странно выглядит.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

На 3128 зачем? Всегда без этого работало.

И вообще прозрачный прокси работает нормально. Почему-то не работает NAT.

$if_int:0 это из документации, раскрывается в первый ip интерфейса.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Почему-то не работает NAT

либо добавьте модификатор 'pass' в правило nat, либо добавьте фильтрующее правило, разрешающие проход из <hotspot> по tcp/443

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Надо же, невнимательно читал доку, про модификатор pass не знал.

Попробую.

Но разрешающее правило на tcp/443 было (в листинг забыл его добавить), с ним NAT тоже не работал.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Но разрешающее правило на tcp/443 было (в листинг забыл его добавить), с ним NAT тоже не работал.

покажите правило. еще хорошо помогает tcpdump -npi pflog0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.