Подробное руководство по ipfw nat
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
- рядовой
- Сообщения: 30
- Зарегистрирован: 2012-11-05 13:54:04
Re: Подробное руководство по ipfw nat
Вроде решил проблему. Не хочется сглазить:-), но после того как поменял кабели местами - то есть re0 теперь внешний интерфейс, а alc0 внутренний, все стало работать как надо. На внешнем соответственно отключил RXCSUM,TXCSUM.
Пару дней сервак принимает входящие соединения в не зависимости от включенности машин за ним. Может кому, то поможет мой опыт:-)
Благодарю terminus'a за статью и конфиг.
Пару дней сервак принимает входящие соединения в не зависимости от включенности машин за ним. Может кому, то поможет мой опыт:-)
Благодарю terminus'a за статью и конфиг.
Услуги хостинговой компании Host-Food.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
-
- проходил мимо
- Сообщения: 2
- Зарегистрирован: 2012-12-13 17:16:25
Re: Подробное руководство по ipfw nat
Привет!
Есть следующая проблемка - ядерный нат не пробрасывает порт. Всё по мануалу
Вот конфиги:
1. Ядро:
2. /etc/rc.conf:
3. /etc/test.fw :
4./etc/sysctl.conf:
Конфигурация тестовая. 9-я фря. Для проверки пробрасываем порт rdp на машину 192.168.10.154. C указанным конфигом - не работает
Если ставлю например rinetd - чудесно пробрасывает...
Ткните плз, где ошибка? Уже мозг плывёт.
В этой теме нарыл что для рдп надо ставить net.inet.ip.fw.one_pass=0 - но так тоже не работает.
Есть следующая проблемка - ядерный нат не пробрасывает порт. Всё по мануалу
Вот конфиги:
1. Ядро:
Код: Выделить всё
#my options
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=10
options IPFIREWALL_FORWARD
options IPFIREWALL_NAT
options DUMMYNET
options LIBALIAS
options IPSEC
device crypto
options IPSEC_DEBUG
options IPSEC_FILTERTUNNEL
#######
Код: Выделить всё
hostname="testfree"
gateway_enable="YES"
#outside net
ifconfig_em0="inet 192.168.0.249 netmask 255.255.255.0 -rxcsum -txcsum -tso"
#inside net
ifconfig_em1="inet 192.168.10.249 netmask 255.255.255.0 -rxcsum -txcsum -tso"
defaultrouter="192.168.0.209"
firewall_enable="YES"
firewall_script="/etc/test.fw"
firewall_nat_enable="YES"
dummynet_enable="YES"
Код: Выделить всё
#!/bin/sh
ipfw -f flush
cmd="/sbin/ipfw add"
out_if="192.168.0.249"
in_if="192.168.10.249"
$cmd allow all from any to any via em1
$cmd allow all from me to 192.168.0.153 via em0
$cmd allow all from 192.168.0.153 to me
ipfw nat 1 config log if em0 reset same_ports deny_in redirect_port tcp 192.168.10.154:3389 3389
ipfw add nat 1 ip from any to any via em0
$cmd deny all from any to any
Код: Выделить всё
net.inet.ip.fw.one_pass=1
![Sad :(](./../images/smilies/sad.gif)
Ткните плз, где ошибка? Уже мозг плывёт.
В этой теме нарыл что для рдп надо ставить net.inet.ip.fw.one_pass=0 - но так тоже не работает.
-
- проходил мимо
- Сообщения: 2
- Зарегистрирован: 2012-12-13 17:16:25
Re: Подробное руководство по ipfw nat
Ошибка была в правиле
Из-за него пакеты до ната не доходят..
Но теперь другая проблема - Делаю похожие правила на резервном шлюзе, привожу фаерволл до следующего вида:
И проброс по-прежнему не работает.. Собственно, из-за этого и была сделана тестовая конфигурация.
Может проблема в том что соединение установлено по pppoe? Но внешний интерфейс указан правильно - tun0.
Вот rc.conf:
Вот вывод ipfw show:
Код: Выделить всё
$cmd allow all from me to 192.168.0.153 via em0
$cmd allow all from 192.168.0.153 to me
Но теперь другая проблема - Делаю похожие правила на резервном шлюзе, привожу фаерволл до следующего вида:
Код: Выделить всё
#!/bin/sh
ipfw -f flush
cmd="/sbin/ipfw add"
host="82.207.116.20"
pif="tun0"
#Allow localnet
$cmd allow all from any to any via nfe0
ipfw nat 1 config log if tun0 reset same_ports deny_in redirect_port tcp 192.168.0.49:3389 3389
ipfw add nat 1 ip from any to any via tun0
$cmd allow ip from any to any
Может проблема в том что соединение установлено по pppoe? Но внешний интерфейс указан правильно - tun0.
Вот rc.conf:
Код: Выделить всё
gateway_enable="YES"
ifconfig_nfe0="inet 192.168.0.209 netmask 255.255.255.0 -rxcsum -txcsum -tso" #inside net
firewall_enable="YES"
firewall_script="/etc/f_test.fw"
firewall_nat_enable="YES"
dummynet_enable="YES"
ppp_enable="YES"
ppp_mode="ddial"
#ppp_nat="YES"
ppp_profile="ukrtel"
Код: Выделить всё
gate2 ipfw -d show
00100 74131 61592365 allow ip from any to any via nfe0
00200 77427 56664711 nat 1 ip from any to any via tun0
00300 220 26928 allow ip from any to any
65535 32 6132 deny ip from any to any
gate# ipfw nat 1 show
nat 1: icmp=9, udp=86, tcp=362, sctp=0, pptp=0, proto=0, frag_id=0 frag_ptr=0 / tot=457
-
- проходил мимо
Re: Подробное руководство по ipfw nat
В общем, дело было в том что всё это дело происходило на РЕЗЕРВНОМ шлюзе.
Соответственно на сервере терминалов 192.168.0.49 шлюзом по умолчанию стоит IP основного шлюза.
Как только поменял на 192.168.0.209 всё стало чудно пробрасывать.
Соответственно на сервере терминалов 192.168.0.49 шлюзом по умолчанию стоит IP основного шлюза.
Как только поменял на 192.168.0.209 всё стало чудно пробрасывать.
-
- проходил мимо
- Сообщения: 2
- Зарегистрирован: 2012-12-25 6:02:46
Re: Подробное руководство по ipfw nat
Пока так и не нашёл нормального решения:
Есть 2 канала в и-нет (безлимит основной и помегабайтный резервный). При этом каналы переключаются вручную (автоматика слишком часто ошибалась из-за низкого качества), в случае выпадения основного канала (придумал небольшой костыль на основе первого примера).
Нужно, чтобы сервера, скрытые за NAT, были доступны на обоих внешних интерфейсах. Как это можно реализовать?
Есть 2 канала в и-нет (безлимит основной и помегабайтный резервный). При этом каналы переключаются вручную (автоматика слишком часто ошибалась из-за низкого качества), в случае выпадения основного канала (придумал небольшой костыль на основе первого примера).
Нужно, чтобы сервера, скрытые за NAT, были доступны на обоих внешних интерфейсах. Как это можно реализовать?
-
- проходил мимо
- Сообщения: 2
- Зарегистрирован: 2012-12-25 6:02:46
Re: Подробное руководство по ipfw nat
Так же не могу разобраться со стыковкой squid в режиме net.inet.ip.fw.one_pass=0
-
- лейтенант
- Сообщения: 831
- Зарегистрирован: 2007-06-01 19:27:51
Re: Подробное руководство по ipfw nat
заметил такую особенность - в случае синтаксической ошибки фаервол не подгружает все правила, и ссответственно лочится вся сеть...
в старых версиях не подгружалось только правило с ошибкой...
это у всех так или я такой везучий?
в старых версиях не подгружалось только правило с ошибкой...
это у всех так или я такой везучий?
-
- рядовой
- Сообщения: 17
- Зарегистрирован: 2013-02-12 21:48:30
- Откуда: Saint Petersburg
Re: Подробное руководство по ipfw nat
Всем бобра!
Начинающий админ взывает к сообществу за помощью.
Пытаюсь реализовать схему из примера 7 статьи, но с учетом того что локальная сеть разбита на vlan-ы (пусть будет 100 штук, интерфейсы bge1.100 - bge1.200).
DHCP работает на этом же сервере и выдает параметры клиентам в vlan-ах на интерфейсах bge1.xxx (адреса 10.1.xxx.0/24, шлюз 10.1.xxх.1).
Кусок rc.conf (адреса изменены)
Отчасти все хорошо, сейчас vlan-ы имеют доступ в интернет, трафик балансируется, но для этого в правилах ipfw пришлось каждый виртуальный интерфейс прописывать (для включения балансировки на каждый vlan-интерфейс приходится 10 строк правил prob...skipto и skipto...tag, учитывая использование 5 public IP).
Вопрос #0: может я "придумываю велосипед" и подобное реализуется другим способом?
Вопрос #1: можно ли как-то сократить количество правил?
Вопрос #2: все клиенты в vlan{100-200} имеют доступ друг к другу (пингуются хосты этих сетей), а так же к ip-адресу 192.168.0.1 сети vlan0 (default vlan, inet 192.168.0.0/24). Как бы запретить им делать это, оставив возможность обмена трафиком внутри отдельно взятого vlan, а так же некоторым хостам в vlan0? С vlan0 вот что еще непонятно. Например, если запустить ping от 10.1.100.11 до 192.168.0.11 то "Превышен интервал ожидания запроса...", а если сначала сделать ping от 192.168.0.11 до 10.1.100.11, то потом в обратном направлении ping между этими клиентами тоже заработает.
Если подобное обсуждалось - не пинайте сильно, не удалось найти. Прошу помочь кто чем сможет.
P.S. Автору статьи огромнейший респект за проделанную работу, давно прописалась в избранном. Viva la terminus!![Smile =)](./../images/smilies/smile.gif)
Начинающий админ взывает к сообществу за помощью.
Пытаюсь реализовать схему из примера 7 статьи, но с учетом того что локальная сеть разбита на vlan-ы (пусть будет 100 штук, интерфейсы bge1.100 - bge1.200).
DHCP работает на этом же сервере и выдает параметры клиентам в vlan-ах на интерфейсах bge1.xxx (адреса 10.1.xxx.0/24, шлюз 10.1.xxх.1).
Кусок rc.conf (адреса изменены)
Код: Выделить всё
ifconfig_bge0="inet 11.22.33.44 netmask 255.255.255.240 -rxcsum -tso"
ifconfig_bge0_alias0="inet 11.22.33.45 netmask 255.255.255.255"
ifconfig_bge0_alias1="inet 11.22.33.46 netmask 255.255.255.255"
ifconfig_bge0_alias2="inet 11.22.33.47 netmask 255.255.255.255"
ifconfig_bge0_alias3="inet 11.22.33.48 netmask 255.255.255.255"
ifconfig_bge1="inet 192.168.0.1 netmask 255.255.255.0"
#
cloned_interfaces="bge1.100 ... bge1.200"
ifconfig_bge1_100="inet 10.1.100.1/24"
...
ifconfig_bge1_200="inet 10.1.200.1/24"
Вопрос #0: может я "придумываю велосипед" и подобное реализуется другим способом?
Вопрос #1: можно ли как-то сократить количество правил?
Вопрос #2: все клиенты в vlan{100-200} имеют доступ друг к другу (пингуются хосты этих сетей), а так же к ip-адресу 192.168.0.1 сети vlan0 (default vlan, inet 192.168.0.0/24). Как бы запретить им делать это, оставив возможность обмена трафиком внутри отдельно взятого vlan, а так же некоторым хостам в vlan0? С vlan0 вот что еще непонятно. Например, если запустить ping от 10.1.100.11 до 192.168.0.11 то "Превышен интервал ожидания запроса...", а если сначала сделать ping от 192.168.0.11 до 10.1.100.11, то потом в обратном направлении ping между этими клиентами тоже заработает.
Если подобное обсуждалось - не пинайте сильно, не удалось найти. Прошу помочь кто чем сможет.
P.S. Автору статьи огромнейший респект за проделанную работу, давно прописалась в избранном. Viva la terminus!
![Smile =)](./../images/smilies/smile.gif)
-
- рядовой
- Сообщения: 17
- Зарегистрирован: 2013-02-12 21:48:30
- Откуда: Saint Petersburg
Re: Подробное руководство по ipfw nat
С доступом к 192.168.0.11 разобрался - на машине был прописан другой шлюз, наверное на него и уходили ответы. Остальное пробую решать. Anyone?
P.S. По вопросу хождения трафика между vlan: есть мнение что надо переписывать без правила 1070, описывая каждый vlan - кому куда можно или нельзя. Но это еще больше увеличивает количество правил... Даже не знаю. Кто может подсказать?
P.S. По вопросу хождения трафика между vlan: есть мнение что надо переписывать без правила 1070, описывая каждый vlan - кому куда можно или нельзя. Но это еще больше увеличивает количество правил... Даже не знаю. Кто может подсказать?
- vadim64
- майор
- Сообщения: 2101
- Зарегистрирован: 2009-09-17 15:15:26
- Откуда: Засратовец
Re: Подробное руководство по ipfw nat
хотелось бы уточнить, где именно видно что вы используете вланы? в листинге это не отражено
Люди не делятся на национальности, партии, фракции и религии. Люди делятся на умных и дураков, а вот дураки делятся на национальности, партии, фракции и религии.
-
- рядовой
- Сообщения: 17
- Зарегистрирован: 2013-02-12 21:48:30
- Откуда: Saint Petersburg
Re: Подробное руководство по ipfw nat
В приведенном куске есть строка и далее описание этих интерфейсов. Если это не указывает на использование vlan, то вот еще вырезка
Код: Выделить всё
cloned_interfaces="bge1.100 ... bge1.200"
Код: Выделить всё
serv# ifconfig
...
bge1.120: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=103<RXCSUM,TXCSUM,TSO4>
ether 00:23:7d:9b:4d:95
inet 10.1.120.1 netmask 0xffffff00 broadcast 10.1.120.255
media: Ethernet autoselect (1000baseT <full-duplex>)
status: active
vlan: 120 parent interface: bge1
...
- vadim64
- майор
- Сообщения: 2101
- Зарегистрирован: 2009-09-17 15:15:26
- Откуда: Засратовец
Re: Подробное руководство по ipfw nat
ok
давайте посмотрим листинг правил фаервола
давайте посмотрим листинг правил фаервола
Люди не делятся на национальности, партии, фракции и религии. Люди делятся на умных и дураков, а вот дураки делятся на национальности, партии, фракции и религии.
-
- рядовой
- Сообщения: 17
- Зарегистрирован: 2013-02-12 21:48:30
- Откуда: Saint Petersburg
Re: Подробное руководство по ipfw nat
Вывод сократил, но думаю что все будет понятно
Код: Выделить всё
serv# ipfw show
00050 53 5143 deny log logamount 256 ip from any to any not antispoof in
00100 0 0 check-state
00100 13890 947526 allow ip from any to any via lo0
00200 0 0 deny log logamount 256 ip from any to 127.0.0.0/8
00300 0 0 deny log logamount 256 ip from 127.0.0.0/8 to any
01051 43845 4085871 prob 0.200000 skipto 1551 ip from any to any in recv bge1
01052 102440 11952231 prob 0.200000 skipto 1552 ip from any to any in recv bge1.100
01053 1399 129246 prob 0.200000 skipto 1553 ip from any to any in recv bge1.101
01054 0 0 prob 0.200000 skipto 1554 ip from any to any in recv bge1.102
...
01151 43703 4064704 prob 0.250000 skipto 1651 ip from any to any in recv bge1
01152 102085 11930331 prob 0.250000 skipto 1652 ip from any to any in recv bge1.100
01153 1333 122528 prob 0.250000 skipto 1653 ip from any to any in recv bge1.101
01154 0 0 prob 0.250000 skipto 1654 ip from any to any in recv bge1.102
...
01251 44032 4102283 prob 0.333000 skipto 1751 ip from any to any in recv bge1
01252 102245 11937945 prob 0.333000 skipto 1752 ip from any to any in recv bge1.100
01253 1417 130580 prob 0.333000 skipto 1753 ip from any to any in recv bge1.101
01254 0 0 prob 0.333000 skipto 1754 ip from any to any in recv bge1.102
...
01351 43540 4042570 prob 0.500000 skipto 1851 ip from any to any in recv bge1
01352 102956 12032820 prob 0.500000 skipto 1852 ip from any to any in recv bge1.100
01353 1346 121800 prob 0.500000 skipto 1853 ip from any to any in recv bge1.101
01354 0 0 prob 0.500000 skipto 1854 ip from any to any in recv bge1.102
...
01451 43548 4053160 prob 0.999000 skipto 1951 ip from any to any in recv bge1
01452 102075 11914370 prob 0.999000 skipto 1952 ip from any to any in recv bge1.100
01453 1372 124771 prob 0.999000 skipto 1953 ip from any to any in recv bge1.101
01454 0 0 prob 0.999000 skipto 1954 ip from any to any in recv bge1.102
...
01551 604685 128789649 skipto 5061 tag 1 ip from any to any via bge1 keep-state
01552 1738002 1212554093 skipto 5061 tag 1 ip from any to any via bge1.100 keep-state
01553 9299 1928687 skipto 5061 tag 1 ip from any to any via bge1.101 keep-state
01554 0 0 skipto 5061 tag 1 ip from any to any via bge1.102 keep-state
...
01651 467440 117654726 skipto 5061 tag 2 ip from any to any via bge1 keep-state
01652 779536 408061213 skipto 5061 tag 2 ip from any to any via bge1.100 keep-state
01653 8326 1671970 skipto 5061 tag 2 ip from any to any via bge1.101 keep-state
01654 0 0 skipto 5061 tag 2 ip from any to any via bge1.102 keep-state
...
01751 473747 124064375 skipto 5061 tag 3 ip from any to any via bge1 keep-state
01752 1168037 805750225 skipto 5061 tag 3 ip from any to any via bge1.100 keep-state
01753 8592 1537644 skipto 5061 tag 3 ip from any to any via bge1.101 keep-state
01754 0 0 skipto 5061 tag 3 ip from any to any via bge1.102 keep-state
...
01851 835869 140502680 skipto 5061 tag 4 ip from any to any via bge1 keep-state
01852 889129 482564770 skipto 5061 tag 4 ip from any to any via bge1.100 keep-state
01853 8314 1726200 skipto 5061 tag 4 ip from any to any via bge1.101 keep-state
01854 0 0 skipto 5061 tag 4 ip from any to any via bge1.102 keep-state
...
01951 621753 126738919 skipto 5061 tag 5 ip from any to any via bge1 keep-state
01952 836801 511185780 skipto 5061 tag 5 ip from any to any via bge1.100 keep-state
01953 8988 2024945 skipto 5061 tag 5 ip from any to any via bge1.101 keep-state
01954 0 0 skipto 5061 tag 5 ip from any to any via bge1.102 keep-state
...
05061 2499327 580723202 allow ip from any to any via bge1
09080 0 0 deny log logamount 256 ip from any to 192.168.0.0/16 in recv bge0
09090 49 6100 deny log logamount 256 ip from 192.168.0.0/16 to any in recv bge0
09100 0 0 deny log logamount 256 ip from any to 172.16.0.0/12 in recv bge0
09110 238 16388 deny log logamount 256 ip from 172.16.0.0/12 to any in recv bge0
09120 0 0 deny log logamount 256 ip from any to 10.0.0.0/8 in recv bge0
09130 325 39490 deny log logamount 256 ip from 10.0.0.0/8 to any in recv bge0
09140 0 0 deny log logamount 256 ip from any to 169.254.0.0/16 in recv bge0
09150 0 0 deny log logamount 256 ip from 169.254.0.0/16 to any in recv bge0
09160 0 0 deny log logamount 256 icmp from any to 255.255.255.255 in recv bge0
09170 0 0 deny log logamount 256 icmp from any to 255.255.255.255 out xmit bge0
10000 1379223 986960731 queue 1 ip from any to any out xmit bge0
10199 1588 173744 skipto 10601 tag 1 ip from me to any out xmit bge0
10201 355427 198619805 nat 2 ip from any to any out xmit bge0 tagged 2
10202 408258 127920244 nat 2 ip from any to 11.22.33.45 in recv bge0
10301 500819 396213001 nat 3 ip from any to any out xmit bge0 tagged 3
10302 507362 136466018 nat 3 ip from any to 11.22.33.46 in recv bge0
10401 518968 242445668 nat 4 ip from any to any out xmit bge0 tagged 4
10402 566391 138434091 nat 4 ip from any to 11.22.33.47 in recv bge0
10501 429041 253605037 nat 5 ip from any to any out xmit bge0 tagged 5
10502 469474 130324280 nat 5 ip from any to 11.22.33.48 in recv bge0
10601 764852 594201519 nat 1 ip from any to any out xmit bge0 tagged 1
10602 643792 145789275 nat 1 ip from any to 11.22.33.44 in recv bge0
20000 1208171 496334178 queue 2 ip from any to any in recv bge0
20620 7859021 4091368252 allow ip from any to any
65534 0 0 deny log logamount 256 ip from any to any
65535 1 48 deny ip from any to any
- vadim64
- майор
- Сообщения: 2101
- Зарегистрирован: 2009-09-17 15:15:26
- Откуда: Засратовец
Re: Подробное руководство по ipfw nat
жесть
очень тяжело читается
очень тяжело читается
Люди не делятся на национальности, партии, фракции и религии. Люди делятся на умных и дураков, а вот дураки делятся на национальности, партии, фракции и религии.
- vadim64
- майор
- Сообщения: 2101
- Зарегистрирован: 2009-09-17 15:15:26
- Откуда: Засратовец
Re: Подробное руководство по ipfw nat
в статье делаются
чтобы примерно равномерно разделить трафик на 5 частей, потому что предполагается 5 внешних адресов. вам это тоже требуется?
не подумайте что я пытаюсь представить вас тупым, я просто уточняю вашу задачу
Код: Выделить всё
add 1011 prob 0.2 skipto 1061 ip from any to any in recv fxp0
add 1012 prob 0.25 skipto 1063 ip from any to any in recv fxp0
add 1013 prob 0.333 skipto 1065 ip from any to any in recv fxp0
add 1014 prob 0.5 skipto 1067 ip from any to any in recv fxp0
add 1015 prob 1 skipto 1069 ip from any to any in recv fxp0
не подумайте что я пытаюсь представить вас тупым, я просто уточняю вашу задачу
Люди не делятся на национальности, партии, фракции и религии. Люди делятся на умных и дураков, а вот дураки делятся на национальности, партии, фракции и религии.
-
- рядовой
- Сообщения: 17
- Зарегистрирован: 2013-02-12 21:48:30
- Откуда: Saint Petersburg
Re: Подробное руководство по ipfw nat
Не без этого, потому и спрашивал про возможность сокращения кол-ва правил.vadim64 писал(а):жесть
очень тяжело читается
![Sad :(](./../images/smilies/sad.gif)
Вы абсолютно правы, задача как и в статье, но сеть поделена на vlan.vadim64 писал(а):чтобы примерно равномерно разделить трафик на 5 частей, потому что предполагается 5 внешних адресов. вам это тоже требуется?
- vadim64
- майор
- Сообщения: 2101
- Зарегистрирован: 2009-09-17 15:15:26
- Откуда: Засратовец
Re: Подробное руководство по ipfw nat
ок
Люди не делятся на национальности, партии, фракции и религии. Люди делятся на умных и дураков, а вот дураки делятся на национальности, партии, фракции и религии.
- vadim64
- майор
- Сообщения: 2101
- Зарегистрирован: 2009-09-17 15:15:26
- Откуда: Засратовец
Re: Подробное руководство по ipfw nat
а если так сразу?
соответственно все таги и скипы наxyй
Код: Выделить всё
add 10201 prob 0.25 nat 2 ip from any to any out xmit bge0
add 10202 nat 2 ip from any to 11.22.33.45 in recv bge0
add 10301 prob 0.333 nat 3 ip from any to any out xmit bge0
add 10302 nat 3 ip from any to 11.22.33.46 in recv bge0
add 10401 prob 0.5 nat 4 ip from any to any out xmit bge0
add 10402 nat 4 ip from any to 11.22.33.47 in recv bge0
add 10501 prob 1 nat 5 ip from any to any out xmit bge0
add 10502 nat 5 ip from any to 11.22.33.48 in recv bge0
add 10601 prob 0.2 nat 1 ip from any to any out xmit bge0
add 10602 nat 1 ip from any to 11.22.33.44 in recv bge0
Люди не делятся на национальности, партии, фракции и религии. Люди делятся на умных и дураков, а вот дураки делятся на национальности, партии, фракции и религии.
-
- рядовой
- Сообщения: 17
- Зарегистрирован: 2013-02-12 21:48:30
- Откуда: Saint Petersburg
Re: Подробное руководство по ipfw nat
Потери при ping g.co с клиентской машины составляют порядка 85%, сайты не открываются. Правила ipfw
Довольно интересно, получается что ~15% пакетов все-же проходят...
Код: Выделить всё
serv# cat /etc/rc.ipfw
#!/bin/sh
fw="/sbin/ipfw "
if_out0="bge0"
ip_out0="11.22.33.44"
ip_out0_0="11.22.33.45"
ip_out0_1="11.22.33.46"
ip_out0_2="11.22.33.47"
ip_out0_3="11.22.33.48"
if_in0="bge1"
#
$fw -f flush
$fw add check-state
$fw add 50 deny log ip from any to any not antispoof in
$fw add 100 allow ip from any to any via lo0
$fw add 200 deny log ip from any to 127.0.0.0/8
$fw add 300 deny log ip from 127.0.0.0/8 to any
$fw add 5061 allow all from any to any via $if_in0
$fw add 9080 deny log ip from any to 192.168.0.0/16 in recv $if_out0
$fw add 9090 deny log ip from 192.168.0.0/16 to any in recv $if_out0
$fw add 9100 deny log ip from any to 172.16.0.0/12 in recv $if_out0
$fw add 9110 deny log ip from 172.16.0.0/12 to any in recv $if_out0
$fw add 9120 deny log ip from any to 10.0.0.0/8 in recv $if_out0
$fw add 9130 deny log ip from 10.0.0.0/8 to any in recv $if_out0
$fw add 9140 deny log ip from any to 169.254.0.0/16 in recv $if_out0
$fw add 9150 deny log ip from 169.254.0.0/16 to any in recv $if_out0
$fw add 9160 deny log icmp from any to 255.255.255.255 in recv $if_out0
$fw add 9170 deny log icmp from any to 255.255.255.255 out xmit $if_out0
$fw nat 1 config log ip $ip_out0 same_ports reset deny_in
$fw nat 2 config log ip $ip_out0_0 same_ports reset deny_in
$fw nat 3 config log ip $ip_out0_1 same_ports reset deny_in
$fw nat 4 config log ip $ip_out0_2 same_ports reset deny_in
$fw nat 5 config log ip $ip_out0_3 same_ports reset deny_in
$fw add 10201 prob 0.25 nat 2 ip from any to any out xmit $if_out0
$fw add 10202 nat 2 ip from any to $ip_out0_0 in recv $if_out0
$fw add 10301 prob 0.333 nat 3 ip from any to any out xmit $if_out0
$fw add 10302 nat 3 ip from any to $ip_out0_1 in recv $if_out0
$fw add 10401 prob 0.5 nat 4 ip from any to any out xmit $if_out0
$fw add 10402 nat 4 ip from any to $ip_out0_2 in recv $if_out0
$fw add 10501 prob 1 nat 5 ip from any to any out xmit $if_out0
$fw add 10502 nat 5 ip from any to $ip_out0_3 in recv $if_out0
$fw add 10601 prob 0.2 nat 1 ip from any to any out xmit $if_out0
$fw add 10602 nat 1 ip from any to $ip_out0 in recv $if_out0
$fw add 20620 allow all from any to any
$fw add 65534 deny log all from any to any
Код: Выделить всё
serv# ipfw show
00050 0 0 deny log logamount 256 ip from any to any not antispoof in
00100 0 0 check-state
00100 164 9840 allow ip from any to any via lo0
00200 0 0 deny log logamount 256 ip from any to 127.0.0.0/8
00300 0 0 deny log logamount 256 ip from 127.0.0.0/8 to any
05061 30933 3065358 allow ip from any to any via bge1
09080 0 0 deny log logamount 256 ip from any to 192.168.0.0/16 in recv bge0
09090 0 0 deny log logamount 256 ip from 192.168.0.0/16 to any in recv bge0
09100 0 0 deny log logamount 256 ip from any to 172.16.0.0/12 in recv bge0
09110 0 0 deny log logamount 256 ip from 172.16.0.0/12 to any in recv bge0
09120 0 0 deny log logamount 256 ip from any to 10.0.0.0/8 in recv bge0
09130 1 129 deny log logamount 256 ip from 10.0.0.0/8 to any in recv bge0
09140 0 0 deny log logamount 256 ip from any to 169.254.0.0/16 in recv bge0
09150 0 0 deny log logamount 256 ip from 169.254.0.0/16 to any in recv bge0
09160 0 0 deny log logamount 256 icmp from any to 255.255.255.255 in recv bge0
09170 0 0 deny log logamount 256 icmp from any to 255.255.255.255 out xmit bge0
10201 2864 363970 prob 0.250000 nat 2 ip from any to any out xmit bge0
10202 264 29763 nat 2 ip from any to 11.22.33.45 in recv bge0
10301 3760 491632 prob 0.333000 nat 3 ip from any to any out xmit bge0
10302 936 115279 nat 3 ip from any to 11.22.33.46 in recv bge0
10401 5653 727251 prob 0.500000 nat 4 ip from any to any out xmit bge0
10402 494 59932 nat 4 ip from any to 11.22.33.47 in recv bge0
10501 11364 1471230 nat 5 ip from any to any out xmit bge0
10502 15072 2188528 nat 5 ip from any to 11.22.33.48 in recv bge0
10601 2275 288267 prob 0.200000 nat 1 ip from any to any out xmit bge0
10602 4288 350264 nat 1 ip from any to 11.22.33.44 in recv bge0
20620 43343 5970361 allow ip from any to any
65534 0 0 deny log logamount 256 ip from any to any
65535 1 48 deny ip from any to any
- vadim64
- майор
- Сообщения: 2101
- Зарегистрирован: 2009-09-17 15:15:26
- Откуда: Засратовец
Re: Подробное руководство по ipfw nat
прикольно)))
Люди не делятся на национальности, партии, фракции и религии. Люди делятся на умных и дураков, а вот дураки делятся на национальности, партии, фракции и религии.
- vadim64
- майор
- Сообщения: 2101
- Зарегистрирован: 2009-09-17 15:15:26
- Откуда: Засратовец
Re: Подробное руководство по ipfw nat
интересно, теряются исходящие или входящие?
попробуйте так
и потом наоборот
обращайте внимание на номера правил
попробуйте так
Код: Выделить всё
$fw add 10201 prob 0.2 nat 1 ip from any to any out xmit $if_out0
$fw add 10202 prob 0.25 nat 2 ip from any to any out xmit $if_out0
$fw add 10203 prob 0.333 nat 3 ip from any to any out xmit $if_out0
$fw add 10204 prob 0.5 nat 4 ip from any to any out xmit $if_out0
$fw add 10205 prob 1 nat 5 ip from any to any out xmit $if_out0
$fw add 10301 nat 1 ip from any to $ip_out0 in recv $if_out0
$fw add 10302 nat 2 ip from any to $ip_out0_0 in recv $if_out0
$fw add 10303 nat 3 ip from any to $ip_out0_1 in recv $if_out0
$fw add 10304 nat 4 ip from any to $ip_out0_2 in recv $if_out0
$fw add 10305 nat 5 ip from any to $ip_out0_3 in recv $if_out0
обращайте внимание на номера правил
Люди не делятся на национальности, партии, фракции и религии. Люди делятся на умных и дураков, а вот дураки делятся на национальности, партии, фракции и религии.
-
- рядовой
- Сообщения: 17
- Зарегистрирован: 2013-02-12 21:48:30
- Откуда: Saint Petersburg
Re: Подробное руководство по ipfw nat
Такая-же ситуация, примерно 80% потерьvadim64 писал(а):попробуйте так
Извините за настойчивость, но "наоборот" - это как? Делать prob на пакетах в правилах in recv $if_out0 ?и потом наоборот
- vadim64
- майор
- Сообщения: 2101
- Зарегистрирован: 2009-09-17 15:15:26
- Откуда: Засратовец
Re: Подробное руководство по ipfw nat
что за ерунда...
покажьте
Код: Выделить всё
sysctl -a net.inet.ip.fw.one_pass
Люди не делятся на национальности, партии, фракции и религии. Люди делятся на умных и дураков, а вот дураки делятся на национальности, партии, фракции и религии.
-
- рядовой
- Сообщения: 17
- Зарегистрирован: 2013-02-12 21:48:30
- Откуда: Saint Petersburg
Re: Подробное руководство по ipfw nat
Код: Выделить всё
serv# sysctl -a net.inet.ip.fw.one_pass
net.inet.ip.fw.one_pass: 0
Код: Выделить всё
$fw -f flush
$fw add 50 deny log ip from any to any not antispoof in
$fw add 100 allow ip from any to any via lo0
$fw add 200 deny log ip from any to 127.0.0.0/8
$fw add 300 deny log ip from 127.0.0.0/8 to any
$fw add 5061 allow all from any to any via $if_in0
$fw add 9080 deny log ip from any to 192.168.0.0/16 in recv $if_out0
$fw add 9090 deny log ip from 192.168.0.0/16 to any in recv $if_out0
$fw add 9100 deny log ip from any to 172.16.0.0/12 in recv $if_out0
$fw add 9110 deny log ip from 172.16.0.0/12 to any in recv $if_out0
$fw add 9120 deny log ip from any to 10.0.0.0/8 in recv $if_out0
$fw add 9130 deny log ip from 10.0.0.0/8 to any in recv $if_out0
$fw add 9140 deny log ip from any to 169.254.0.0/16 in recv $if_out0
$fw add 9150 deny log ip from 169.254.0.0/16 to any in recv $if_out0
$fw add 9160 deny log icmp from any to 255.255.255.255 in recv $if_out0
$fw add 9170 deny log icmp from any to 255.255.255.255 out xmit $if_out0
$fw nat 1 config log ip $ip_out0 same_ports reset deny_in
$fw nat 2 config log ip $ip_out0_0 same_ports reset deny_in
$fw nat 3 config log ip $ip_out0_1 same_ports reset deny_in
$fw nat 4 config log ip $ip_out0_2 same_ports reset deny_in
$fw nat 5 config log ip $ip_out0_3 same_ports reset deny_in
$fw add 10201 prob 0.2 nat 1 ip from any to any out xmit $if_out0
$fw add 10202 prob 0.25 nat 2 ip from any to any out xmit $if_out0
$fw add 10203 prob 0.333 nat 3 ip from any to any out xmit $if_out0
$fw add 10204 prob 0.5 nat 4 ip from any to any out xmit $if_out0
$fw add 10205 prob 1 nat 5 ip from any to any out xmit $if_out0
$fw add 10301 nat 1 ip from any to $ip_out0 in recv $if_out0
$fw add 10302 nat 2 ip from any to $ip_out0_0 in recv $if_out0
$fw add 10303 nat 3 ip from any to $ip_out0_1 in recv $if_out0
$fw add 10304 nat 4 ip from any to $ip_out0_2 in recv $if_out0
$fw add 10305 nat 5 ip from any to $ip_out0_3 in recv $if_out0
$fw add 20620 allow all from any to any
$fw add 65534 deny log all from any to any
- Alvares
- прапорщик
- Сообщения: 485
- Зарегистрирован: 2008-07-10 12:48:08
- Откуда: Воронеж
- Контактная информация:
Re: Подробное руководство по ipfw nat
80% - 4 ната из 5 в никуда. Видимо, работает, какой-то один
. С одним каналом и одним НАТом проблемы те же? Что-то в листинг вкурить тяжело...
[/b]
если заНАТить вот так? и поработать с этим IP?
![Smile :)](./../images/smilies/smile.gif)
Код: Выделить всё
$fw add 10601 prob 0.2 nat 1 ip from
Код: Выделить всё
$ip_out
Код: Выделить всё
to any out xmit $if_out0
$fw add 10602 nat 1 ip from any to $ip_out0 in recv $if_out0
Бог создал людей сильными и слабыми. Сэмюэл Кольт сделал их равными...