Помогите с Port Forwarding'ом плиз :)



  • Ребята, я новенький в pfsense, всё не могу добить элементарный port forward…
    Схема проста:
    1. клиенты сети 192.168.1.0/24
    2. инет шлюз по умолчанию: lan 192.168.1.141, wan pppoe с белым айпи.
    3. прокси сервер: lan 192.168.1.142, wan pppoe с белым айпи. Порт скуид прокси 3128.
    4. на инетшлюзе и прокси сервере стоит pfsense - VM 1.2.2
    Нужно:
    чтобы любые запросы по HTTP или FTP автоматом уходили через проксю, а весь остальной траф шёл через основной инет шлюз.

    Как я понимаю рыть нужно в Firewall/NAT/Port Forward и больше нигде :)
    Так вот добрые люди подскажите что именно тыкать в менюшках, а то я уже всё перепробовал и ничего не получается :(
    Если можно то по порядку, вот как типа я сделал:
    Interface "LAN"
    External address "any"
    Protocol "TCP
    External port range "from HTTP to HTTP"
    NAT IP "192.168.1.142"
    Local port "3128"
    Description "пусто"
    No XMLRPC Sync "не ставил галку"
    Auto-add a firewall rule to permit traffic through this NAT rule "поставил галку"

    Что я делаю не так, подскажите пожалуйста....



  • наверно я чего то не понял. мне кажется достаточно исходящий трафик по портам 80 и 21 перенаправить на 3128. и все запросы юзеров web и ftp пойдут через прокси.
    т.е.
    firewall:rules:lan
    proto->tcp
    source-lansubnet
    port->http(80)
    destination->any
    port->3128
    как-то так



  • Поставь прокси в режим транспарент и все запросы 80 порта будут автоматически редиректится на прокси
    с фтп так не прокатит

    Иначе блокируешь 20, 21, 80 и прописываешь у клиентов вручную прокси 192.168.1.141:3128



  • @alkol:

    наверно я чего то не понял. мне кажется достаточно исходящий трафик по портам 80 и 21 перенаправить на 3128. и все запросы юзеров web и ftp пойдут через прокси.
    т.е.
    firewall:rules:lan
    proto->tcp
    source-lansubnet
    port->http(80)
    destination->any
    port->3128
    как-то так

    Пробовал, но что-то тоже не получается…
    И почему вы пишите "destination->any", как я понимаю должно быть "destination->192.168.1.142" или я не прав? если я не прав, тогда где в firewall:rules:lan указать адрес прокси сервера?
    Я сделал:
    Action "Pass"
    Interface "LAN"
    Protocol "TCP"
    Source "Network 192.168.1.0/24"
    Destination "Singl host or Allias 192.168.1.142"
    Destination port range "3128"
    Всё остальное оставил по дефолту. + это правило пробовал передвигать выше первичного правила...



  • @zar0ku1:

    Поставь прокси в режим транспарент и все запросы 80 порта будут автоматически редиректится на прокси
    с фтп так не прокатит

    Иначе блокируешь 20, 21, 80 и прописываешь у клиентов вручную прокси 192.168.1.141:3128

    Вы видимо меня не правильно поняли отдельным прокси на 192.168.1.142:3128 у меня прекрасно получается пользоваться и в транспорент и по порту. Моя задача немного другая:
    Мне нужно чтобы любые запросы по HTTP или FTP автоматом уходили через проксю (192.168.1.142:3128), а весь остальной траф шёл через основной инет шлюз (192.168.1.141). Чтобы кроме инет шлюза и днс сервера ничего на пользователях дополнительно не прописывать…



  • Эм.. прокся должна быть на шлюзе.

    в вашем случае получится только с http трафиком если прокси в транспаренте

    правило в фаерволе:

    rdr on lan inet proto tcp from any to any port = 80 -> 192.168.1.142 port 3128



  • Исключить IP вашего прокси-сервера из правила
    rdr on lan inet proto tcp from !proxy_host_ip to any port = 80 -> 192.168.1.142 port 3128



  • @zar0ku1:

    Эм.. прокся должна быть на шлюзе.

    в вашем случае получится только с http трафиком если прокси в транспаренте

    правило в фаерволе:

    rdr on lan inet proto tcp from any to any port = 80 -> 192.168.1.142 port 3128

    Получается чтобы перенаправить http траф с основного инетшлюза (192.168.1.141) на другой прокси сервер (192.168.1.142), обязательно устанавливать проксю на шлюзе (192.168.1.141)? я думал достаточно сделать какой-нибудь порт форвардинг и т.п..



  • @dvserg:

    Исключить IP вашего прокси-сервера из правила
    rdr on lan inet proto tcp from !proxy_host_ip to any port = 80 -> 192.168.1.142 port 3128

    Получается это правило перенаправит все запросы на 80 порт с инетшлюза (192.168.1.141) на 192.168.1.142 port 3128? Правильно я понимаю?
    P.S. Пошу прощения за нубский вопрос, но: при прописывании правил !proxy_host_ip заменить на 192.168.1.141 или прямо так оставить?
    P.S.S. ООООгромное спасибо тем, кто откликнулся на мою проблему!!!



  • @tekken:

    Получается чтобы перенаправить http траф с основного инетшлюза (192.168.1.141) на другой прокси сервер (192.168.1.142), обязательно устанавливать проксю на шлюзе (192.168.1.141)? я думал достаточно сделать какой-нибудь порт форвардинг и т.п..

    Правильно думали.. портфорвардинга достаточно, только если ваш прокси в локальной сети - нужно его исключитьиз этого правила.



  • Еще один,
    2dvserg как думаешь, там таких много?



  • @zar0ku1:

    Еще один,
    2dvserg как думаешь, там таких много?

    :) Люди учатся..



  • Поговорил с человеком в асе, проблема оказывается следующая
    есть два канала, нужно чтобы по одному каналу ушел FTP и HTTP трафик по второму каналу все остальное

    Кто настраивал балансировку расскажите как это возможно?



  • есть два канала, нужно чтобы по одному каналу ушел FTP и HTTP трафик по второму каналу все остальное

    если не балансировка, а именно поделить, то всё делается правилами, для 80 и 21 порта - gateway = wan, для всего что не 80 и не 21 - gateway = opt1. Ну или наоборот.

    Proto   |   Source     |   Port  |   Destination  |     Port         |    Gateway  |    Schedule  |    Description		 	
    TCP          LAN net 	     *                * 	          21 (FTP)           WAN	                                  FTP
    TCP          LAN net 	     *                * 	          80 (HTTP)        WAN	                                 HTTP
    TCP          LAN net 	     *                * 	          25 (SMTP)        OPT1	                                 SMTP
    

    Ну и так далее.



  • @tekken:

    Ребята, я новенький в pfsense, всё не могу добить элементарный port forward…
    Схема проста:
    1. клиенты сети 192.168.1.0/24
    2. инет шлюз по умолчанию: lan 192.168.1.141, wan pppoe с белым айпи.
    3. прокси сервер: lan 192.168.1.142, wan pppoe с белым айпи. Порт скуид прокси 3128.
    4. на инетшлюзе и прокси сервере стоит pfsense - VM 1.2.2
    Нужно:
    чтобы любые запросы по HTTP или FTP автоматом уходили через проксю, а весь остальной траф шёл через основной инет шлюз.

    Как я понимаю рыть нужно в Firewall/NAT/Port Forward и больше нигде :)
    Так вот добрые люди подскажите что именно тыкать в менюшках, а то я уже всё перепробовал и ничего не получается :(
    Если можно то по порядку, вот как типа я сделал:
    Interface "LAN"
    External address "any"
    Protocol "TCP
    External port range "from HTTP to HTTP"
    NAT IP "192.168.1.142"
    Local port "3128"
    Description "пусто"
    No XMLRPC Sync "не ставил галку"
    Auto-add a firewall rule to permit traffic through this NAT rule "поставил галку"

    Что я делаю не так, подскажите пожалуйста....

    Если у 1.142 собственный инет, а не через 1.141, то по мне так задумка правильная. Не работает?
    А что мы получаем в pfctl -sr и в pfctl -sn после создания такого перенаправления?



  • @Eugene:

    Если у 1.142 собственный инет, а не через 1.141, то по мне так задумка правильная. Не работает?
    А что мы получаем в pfctl -sr и в pfctl -sn после создания такого перенаправления?

    Ребята, огромное спасибо, за проявленное внимание и помощь в разрешении моей проблемы.
    Всё реализовал по способу, который описал Mailer.


Log in to reply