Название: Помощь с gw Отправлено: Groov от 18 Января 2010, 16:47:59 Нужна помощь с настройкой шлюза.
Всё работает всё хорошо, в инет у всех работает, надо добавить нат на pf, а с pf первый раз столкнулся. # pfctl -sn No ALTQ support in kernel ALTQ related functions disabled nat pass on vr0 inet from 10.1.1.0/24 to any -> 91.212.80.138 nat pass on vr0 inet from 10.1.16.0/24 to any -> 91.212.80.138 nat pass on vr0 inet from 10.1.17.0/24 to any -> 91.212.80.138 # ifconfig rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=8<VLAN_MTU> ether 00:02:44:8b:c5:6a inet 10.10.0.4 netmask 0xffffff00 broadcast 10.10.0.255 media: Ethernet autoselect (100baseTX <full-duplex>) status: active rl1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=8<VLAN_MTU> ether 00:02:44:57:83:04 inet 10.1.1.1 netmask 0xffffff00 broadcast 10.1.1.255 inet 10.1.16.1 netmask 0xffffff00 broadcast 10.1.16.255 inet 10.1.17.1 netmask 0xffffff00 broadcast 10.1.17.255 media: Ethernet autoselect (100baseTX <full-duplex>) status: active vr0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=2808<VLAN_MTU,WOL_UCAST,WOL_MAGIC> ether 00:0d:87:75:de:49 inet 91.212.80.138 netmask 0xfffffff8 broadcast 91.212.80.143 media: Ethernet autoselect (100baseTX <full-duplex>) status: active plip0: flags=108810<POINTOPOINT,SIMPLEX,MULTICAST,NEEDSGIANT> metric 0 mtu 1500 lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384 inet 127.0.0.1 netmask 0xff000000 # uname -a FreeBSD gw1.lnet 7.2-RELEASE FreeBSD 7.2-RELEASE #0: Tue Oct 27 05:19:55 EET 2009 groov@tp.home:/usr/src/sys/i386/compile/ROUTER i386 ]# ipfw show 00040 19067 1037132 allow tcp from 10.10.0.2 to me dst-port 514 00041 24913 28571993 allow tcp from me 514 to 10.10.0.2 00050 38451 2125384 allow tcp from any to me dst-port 22 00051 52614 11758964 allow tcp from me 22 to any 00100 1621 77756 deny tcp from any to any dst-port 445 00110 862 95958 allow ip from any to any via lo0 00120 252971 24961430 skipto 1000 ip from me to any 00130 10795 604520 deny icmp from any to any in icmptypes 5,9,13,14,15,16,17 00140 1528 79425 deny ip from any to table(120) 00150 300 31471 deny ip from table(120) to any 00160 270626 127172938 skipto 2000 ip from any to me 00200 10547093 8644732869 skipto 500 ip from any to any via vr0 00300 4192692 311386681 skipto 4500 ip from any to any in 00400 6429487 8317518190 skipto 450 ip from any to any recv vr0 00420 16971 674609 divert 1 ip from any to any 00450 6446448 8318192345 divert 2 ip from any to any 00490 6444742 8315738511 allow ip from any to any 00500 6445827 8338723414 skipto 32500 ip from any to any in 00510 4101266 306009455 divert 1 ip from any to any 00540 4100997 305983594 allow ip from any to any 01000 65917 8658549 allow udp from any 53,7723 to any 01010 228598 119685727 allow tcp from any to any setup keep-state 01020 99033 13461634 allow udp from any to any keep-state 01100 18419 2558895 allow ip from any to any 02000 0 0 check-state 02010 16396 996959 allow icmp from any to any 02020 2029 308163 allow tcp from any to any dst-port 80,443 02050 24382 2722948 deny ip from any to any via vr0 02060 68583 3727459 allow udp from any to any dst-port 53,7723 02100 240 14034 deny ip from any to any 05000 40514 2461723 deny ip from not table(0) to any 05001 0 0 skipto 5010 ip from table(127) to table(126) 05002 4135555 308280132 skipto 5030 ip from any to not table(2) 05003 22 1634 deny ip from any to not table(1) 05004 16487 636719 pipe tablearg ip from table(21) to any 05005 0 0 deny ip from any to any 05010 0 0 pipe tablearg ip from table(127) to any 05030 18869 830300 deny tcp from table(15) to any dst-port 25 05140 144653 7168983 allow ip from table(41) to table(40) 05154 0 0 allow ip from table(55) to table(54) 05400 3972033 300280849 pipe tablearg ip from table(11) to any 32000 0 0 deny ip from any to any 32490 47 2622 deny ip from any to any 33000 0 0 pipe tablearg ip from table(126) to table(127) 33001 6445827 8338723414 skipto 33010 ip from not table(2) to any 33002 0 0 pipe tablearg ip from any to table(20) 33003 0 0 deny ip from any to any 33140 142963 25840408 allow ip from table(40) to table(41) 33154 0 0 allow ip from table(54) to table(55) 33400 6302691 8312853793 pipe tablearg ip from any to table(10) 65535 189 30085 allow ip from any to any надо что бы на 10.10.0.0/24 всё уходило на rl0 как это сделать ?? и на Optimu 195.248.160.0/19 212.86.224.0/19 213.227.192.0/18 217.24.160.0/20 213.133.165.64/27 213.154.216.0/21 213.154.214.0/23 195.248.176.96/27 195.248.169.195/32 всё уходило на 10.10.0.2 Название: Re: Помощь с gw Отправлено: Groov от 18 Января 2010, 16:58:43 вот мои направления
Название: Re: Помощь с gw Отправлено: Fredik от 18 Января 2010, 17:07:13 так а че там в мануале по настройке есть вроде как все.
Название: Re: Помощь с gw Отправлено: Groov от 18 Января 2010, 17:20:31 так а че там в мануале по настройке есть вроде как все. Перечитывал нету ! Название: Re: Помощь с gw Отправлено: Fredik от 18 Января 2010, 18:10:31 Цитировать Для трансляции «серых» адресов в «белые» необходим NAT. Будем использовать pf nat: Команда bash ee /etc/pf.conf Вставляем в файл pf.conf set limit states 128000 set optimization aggressive nat pass on em0 from 10.0.0.0/8 to any -> em0 nat pass on em0 from 192.168.0.0/16 to any -> em0 Обязательно вместо em0 укажите внешний интерфейс сервера, т.е тот, который смотрит с сторону провайдера. В это же значение должна быть установлена переменная ifOut в файле /etc/rc.firewall! Команда bash pfctl -N -f /etc/pf.conf и если получаем сообщение: pfctl: /dev/pf: No such file or directory то подгрузим pf как модуль ядра и добавим в автозагрузку: Команды bash kldload pf.ko pfctl -N -f /etc/pf.conf pfctl -e echo pf_load=\"YES\" >> /boot/loader.conf echo pf_enable=\"YES\" >> /etc/rc.conf Название: Re: Помощь с gw Отправлено: Groov от 18 Января 2010, 20:07:35 Цитировать Для трансляции «серых» адресов в «белые» необходим NAT. Будем использовать pf nat: Команда bash ee /etc/pf.conf Вставляем в файл pf.conf set limit states 128000 set optimization aggressive nat pass on em0 from 10.0.0.0/8 to any -> em0 nat pass on em0 from 192.168.0.0/16 to any -> em0 Обязательно вместо em0 укажите внешний интерфейс сервера, т.е тот, который смотрит с сторону провайдера. В это же значение должна быть установлена переменная ifOut в файле /etc/rc.firewall! Команда bash pfctl -N -f /etc/pf.conf и если получаем сообщение: pfctl: /dev/pf: No such file or directory то подгрузим pf как модуль ядра и добавим в автозагрузку: Команды bash kldload pf.ko pfctl -N -f /etc/pf.conf pfctl -e echo pf_load=\"YES\" >> /boot/loader.conf echo pf_enable=\"YES\" >> /etc/rc.conf Это всё так и настроено и всё работает ! вот только к этому надо добавить нат чтобы уходило на нужную внешнюю подсеть через другой инет !! и мог принимать пакеты с сити 10.10.0.0/24 а то их блокирует на интерфейс rl0 ! Название: Re: Помощь с gw Отправлено: versus от 19 Января 2010, 01:14:03 То что ты хочешь реализовать называется Policy Based Routing
В гугле сразу попадаем на статью Настройка Policy Based Routing с помощью pf http://www.lissyara.su/articles/freebsd/tuning/pbr+pf/ Удачи в настройке. попотеть придется Название: Re: Помощь с gw Отправлено: smallcms от 19 Января 2010, 05:49:13 надо добавить нат чтобы уходило на нужную внешнюю подсеть через другой инет Код: ext_if0="ng0" Что-то и без лисяры всё работает... Название: Re: Помощь с gw Отправлено: Groov от 19 Января 2010, 06:32:03 надо добавить нат чтобы уходило на нужную внешнюю подсеть через другой инет Код: ext_if0="ng0" Что-то и без лисяры всё работает... Спасибо ! а можешь показать весь свой pf.conf ! можно и личку ! я добавил вот такое правило в фаирвол и всё забегало на 10.10.0.0/24 ${f} add 145 skipto 33001 ip from 10.10.0.0/24 to any ну и роуты на 10.10.0.0/24 route add 10.1.0.0/16 10.10.0.4 Название: Re: Помощь с gw Отправлено: smallcms от 19 Января 2010, 09:53:32 а можешь показать весь свой pf.conf к сожалению это и есть мой текущий pf.conf. извиняюсь, что огорчил.внешний файл dcix вида аа.бб.вв.гг/дд. по одному с новой строки. Название: Re: Помощь с gw Отправлено: Groov от 19 Января 2010, 10:22:38 Как перезапустить всё правила pf ( какой командой) сори за такие вопросы но я чайник в pf.
а то перезагружать машину постоянно не дело :) Название: Re: Помощь с gw Отправлено: goletsa от 19 Января 2010, 10:41:28 Как перезапустить всё правила pf ( какой командой) сори за такие вопросы но я чайник в pf. а то перезагружать машину постоянно не дело :) /etc/rc.d/pf reload ?? Название: Re: Помощь с gw Отправлено: Andrey Zentavr от 19 Января 2010, 13:08:39 Было как-то так на два провайдера:
Код: #/etc/pf.conf Извиняйте за буржуйские комменты - уж так я привык. ЗЫ: да и фря 7я что-то русский язык через mc не принимает :( Название: Re: Помощь с gw Отправлено: elite от 19 Января 2010, 14:18:42 Извиняйте за буржуйские комменты - уж так я привык. только не grey networks, а fake networks :)Название: Re: Помощь с gw Отправлено: Tech от 19 Января 2010, 14:51:23 Как перезапустить всё правила pf ( какой командой) сори за такие вопросы но я чайник в pf. а то перезагружать машину постоянно не дело :) pfctl -f /etc/pf.conf перечитает правила из файла /etc/pf.conf pfctl -N -f /etc/pf.conf перечитает только правила NAT'а рекомендую к ознакомлению - http://syiron.wordpress.com/2007/12/08/basic-pfctl-control/ Название: Re: Помощь с gw Отправлено: Groov от 20 Января 2010, 11:11:54 Цитировать /etc/rc.d/pf reload ?? У меня не линуха ! Название: Re: Помощь с gw Отправлено: Groov от 20 Января 2010, 11:16:21 Было как-то так на два провайдера: Код: #/etc/pf.conf Извиняйте за буржуйские комменты - уж так я привык. ЗЫ: да и фря 7я что-то русский язык через mc не принимает :( Сделал я подставы свои ip,gw,if и не не фига ! Люди нужна помощь ! за финансовое вознаграждение ! Название: Re: Помощь с gw Отправлено: Groov от 22 Января 2010, 13:59:03 Закрывайте тему ! всё сделали ! проблема была и за того что небыли добавлены роуты !
Название: Re: Помощь с gw Отправлено: elite от 22 Января 2010, 21:40:43 Цитировать /etc/rc.d/pf reload ?? У меня не линуха ! |