Подробное руководство по ipfw nat
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
- demonsked
- ефрейтор
- Сообщения: 68
- Зарегистрирован: 2009-05-24 3:27:45
- Откуда: Россия, 67rus
- Контактная информация:
Re: Подробное руководство по ipfw nat
Решил свою проблему. Причина кривой нат - все заворачивалось фиг знает как.
Нас в ребут, а мы крепчаем.
Услуги хостинговой компании 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/
-
- ефрейтор
- Сообщения: 53
- Зарегистрирован: 2009-06-17 14:02:58
Re: Подробное руководство по ipfw nat
Увы, но ничего не выходит. Делал тоже самое.blackjackchik писал(а): менял все не лету на рабочем сервере,Код: Выделить всё
[root@router /home/admin]# uname -a FreeBSD router.ua 7.1-RELEASE-p6 FreeBSD 7.1-RELEASE-p6 #2: Tue Jul 21 20:05:02 EEST 2009 admin@router.ua:/usr/obj/usr/src/sys/GATE_NEW i386
- demonsked
- ефрейтор
- Сообщения: 68
- Зарегистрирован: 2009-05-24 3:27:45
- Откуда: Россия, 67rus
- Контактная информация:
Re: Подробное руководство по ipfw nat
Проблема с пайпами была в данном правиле
если я его использовал именно в таком виде, то шейпер не работает.
Вернулся к старому варианту
как итог все работает.
Код: Выделить всё
# разрешаем все через интерфейс локальной сети
add 1040 allow ip from any to any via vr0
Вернулся к старому варианту
Код: Выделить всё
# разрешаем траффик внутренней сети на внутреннем интерфейсе
add 60 allow all from any to 172.16.0.0/24 in via vr0
add 61 allow all from 172.16.0.0/24 to any out via vr0
Нас в ребут, а мы крепчаем.
- terminus
- майор
- Сообщения: 2305
- Зарегистрирован: 2007-10-29 11:27:35
- Откуда: Рига
Re: Подробное руководство по ipfw nat
Вы по второму примеру натсраевали нат+шейпер? если так то предъява не принимается так как вы его слишком сильно модифицировали. у меня схема такая (упрощенно)
а у вас такая (обратно упрощенно):
у вас после ната на пайпы уходит модифицированный трафик в котором адрес отправителя замен => правила 11100, 11300, 11500 не работают...
Код: Выделить всё
nat 1 config log if em0 reset same_ports deny_in redirect_port tcp 192.168.1.24:25 25
pipe 1 config bw 10Mbit/s queue 60 gred 0.002/10/30/0.1
queue 1 config pipe 1 mask src-ip 0xffffffff queue 60 gred 0.002/10/30/0.1
pipe 2 config bw 10Mbit/s queue 60 gred 0.002/10/30/0.1
queue 2 config pipe 2 mask dst-ip 0xffffffff queue 60 gred 0.002/10/30/0.1
add 1040 allow ip from any to any via fxp0
add 10150 queue 1 ip from any to any out xmit em0
add 10160 nat 1 ip from any to any via em0
add 10170 queue 2 ip from any to any in recv em0
add 10180 allow all from any to any
add 65534 deny all from any to any
Код: Выделить всё
#лимиты скорости
pipe 1 config bw 256k queue 10
pipe 2 config bw 256k queue 10
pipe 3 config bw 512k queue 10
pipe 4 config bw 512k queue 10
pipe 5 config bw 512k queue 10
pipe 6 config bw 512k queue 10
pipe 7 config bw 2048k queue 10
pipe 8 config bw 2048k queue 10
# настройка ната
nat 1 config log if sis0 reset same_ports deny_in redirect_port tcp 172.16.0.10:50983
# разрешаем все через интерфейс локальной сети
add 1040 allow ip from any to any via vr0
# для sshit
add 10180 deny ip from table(0) to any
# заварачиваем все что проходит через внешний интерфейс в нат
add 10190 nat 1 ip from any to any via sis0
#режем скорость
add 11100 pipe 1 all from 172.16.0.11 to any
add 11200 pipe 2 all from any to 172.16.0.11
add 11300 pipe 3 all from 172.16.0.12 to any
add 11400 pipe 4 all from any to 172.16.0.12
add 11500 pipe 7 all from 172.16.0.10 to any
add 60 pipe 8 all from any to 172.16.0.10
# Блокируем все остальные попытки соединения с занесением в логи
add 65534 deny log all from any to any
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.
- demonsked
- ефрейтор
- Сообщения: 68
- Зарегистрирован: 2009-05-24 3:27:45
- Откуда: Россия, 67rus
- Контактная информация:
Re: Подробное руководство по ipfw nat
Эмм делал по первому примеру.
Надо разъяснить ситуацию.
172.16.0.0/24 сеть локальная на vr0, sis0 соответсвенно внешний интерфейс
Вот конфиг на данный момент
Надо разъяснить ситуацию.
172.16.0.0/24 сеть локальная на vr0, sis0 соответсвенно внешний интерфейс
Вот конфиг на данный момент
Код: Выделить всё
[root@skedteam ~]$ cat /etc/ipfw_new.conf
#IPFW rules for server
#
#
# сбрасываем все правила
flush
# сбрасываем все pipe
pipe flush
#создаем нат
nat 1 config if sis0 same_ports redirect_port udp 172.16.0.10:52146 52146 redirect_port tcp 172.16.0.10:52146 52146
#лимиты скорости
pipe 1 config bw 256k
pipe 2 config bw 256k
pipe 3 config bw 256k
pipe 4 config bw 256k
pipe 5 config bw 512k
pipe 6 config bw 512k
pipe 7 config bw 1024k
pipe 8 config bw 1024k
#pipe 9 config bw 2048k
#pipe 10 config bw 2048k
#разрешаем весь траффик по внутреннему интерфейсу
add 10 allow all from any to any via lo0
#рубим попытки lo0 куда-то лезть и откуда-то лезть на lo0
add 11 deny all from any to 127.0.0.0/8
add 12 deny all from 127.0.0.0/8 to any
# разрешаем траффик внутренней сети на внутреннем интерфейсе
add 13 allow all from any to 172.16.0.0/24 in via vr0
add 14 allow all from 172.16.0.0/24 to any out via vr0
# боимся непонятного
add 20 deny ip from any to 192.168.0.0/16 in recv sis0
add 21 deny ip from 192.168.0.0/16 to any in recv sis0
add 22 deny ip from any to 10.0.0.0/8 in recv sis0
add 23 deny ip from 10.0.0.0/8 to any in recv sis0
add 24 deny ip from any to 169.254.0.0/16 in recv sis0
add 25 deny ip from 169.254.0.0/16 to any in recv sis0
# для sshit
add 35 deny ip from table(0) to any
# рубим пакеты `типа от внутренней сети, но на внешнем интерфейсе`
add 40 deny ip from 172.16.0.0/24 to any in via sis0
# рубим пакеты `типа от внешней сети, но на внутреннем интерфейсе`
add 41 deny ip from 172.16.1.0/24 to any in via vr0
# рубим автоконфигуреную частную сеть
add 50 deny ip from any to 169.254.0.0/16 in via sis0
# рубим мультикастовые рассылки
add 60 deny ip from 224.0.0.0/4 to any out via sis0
add 61 deny ip from any to 240.0.0.0/4 in via sis0
# рубим фрагментированные icmp
add 70 deny icmp from any to any frag
# рубим широковещательные icmp на внешнем интерфейсе
add 81 deny log icmp from any to 255.255.255.255 in via sis0
add 82 deny log icmp from any to 255.255.255.255 out via sis0
#используем нат
add 100 nat 1 all from any to any via sis0
#режем скорость
add 111 pipe 1 all from 172.16.0.11 to any
add 112 pipe 2 all from any to 172.16.0.11
add 113 pipe 3 all from 172.16.0.12 to any
add 114 pipe 4 all from any to 172.16.0.12
add 115 pipe 7 all from 172.16.0.10 to any
add 116 pipe 8 all from any to 172.16.0.10
# Блокируем все остальные попытки соединения с занесением в логи
add 65534 deny log all from any to any
Нас в ребут, а мы крепчаем.
-
- проходил мимо
Re: Подробное руководство по ipfw nat
У меня вопрос.....
Пример пятый... 2 интернета 1 локаль(несколько подситей у меня)
em0 = 1 inet
em1 = 2 inet
em2 = local
нужно сделать чтобы пользователи со squid и socks5 гуляли в инет например с em1
а сам сервак гулял например с em0 тоесть чтобы люди и железяка отдельнобыли и друг другу не мешали.
Пример пятый... 2 интернета 1 локаль(несколько подситей у меня)
em0 = 1 inet
em1 = 2 inet
em2 = local
нужно сделать чтобы пользователи со squid и socks5 гуляли в инет например с em1
а сам сервак гулял например с em0 тоесть чтобы люди и железяка отдельнобыли и друг другу не мешали.
-
- проходил мимо
- Сообщения: 1
- Зарегистрирован: 2009-09-15 9:35:54
- Контактная информация:
Re: Подробное руководство по ipfw nat
Эт мое сообщение
Это так выглядит или я чет напутал
а вот как направить саму железяку на интерфейс em0 я не знаю(((
molot писал(а):У меня вопрос.....
Пример пятый... 2 интернета 1 локаль(несколько подситей у меня)
em0 = 1 inet
em1 = 2 inet
em2 = local
нужно сделать чтобы пользователи со squid и socks5 гуляли в инет например с em1
а сам сервак гулял например с em0 тоесть чтобы люди и железяка отдельнобыли и друг другу не мешали.
Код: Выделить всё
# блокируем сеть на интерфейс em0
add deny all from em3 to any via em0
а вот как направить саму железяку на интерфейс em0 я не знаю(((
- terminus
- майор
- Сообщения: 2305
- Зарегистрирован: 2007-10-29 11:27:35
- Откуда: Рига
Re: Подробное руководство по ipfw nat
вам четвертый пример надо под себя модифицировать - том жестко прописывается кому через какое подключение ходить, а в пятом динамическое распределение...
у вас сквид на том же сервере запущен или он на другой машине в локальной сети?
у вас сквид на том же сервере запущен или он на другой машине в локальной сети?
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.
-
- проходил мимо
Re: Подробное руководство по ipfw nat
У меня возник один интересный вопрос. Я подключаюсь к инету по ADSL и IP у меня динамический. Как мне настраивать NAT когда у меня внешний интерфейс все врема разный???
-
- ефрейтор
- Сообщения: 53
- Зарегистрирован: 2009-06-17 14:02:58
Re: Подробное руководство по ipfw nat
Внешний интерфейс у вас будет один - например, ng0 в случае использования mpd. Имя интерфейса задается исключительно программой, с помощью которой поднимаете pppoe
-
- проходил мимо
Re: Подробное руководство по ipfw nat
А как мне узнать какой програмой я его поднимаю? Для того что бы подключится к инету я набираю ppp -ddial provider Какой у меня в этом случае внешний интерфейс?
-
- ефрейтор
- Сообщения: 53
- Зарегистрирован: 2009-06-17 14:02:58
Re: Подробное руководство по ipfw nat
ifconfig вам в помощь
-
- проходил мимо
Re: Подробное руководство по ipfw nat
Спс для меня это виртуальный интерфейс tun0.
-
- лейтенант
- Сообщения: 613
- Зарегистрирован: 2009-08-05 16:10:46
- Откуда: Украина Днепропетровск-Киев
- Контактная информация:
Re: Подробное руководство по ipfw nat
Кто подскажет зачем нужна опция, добавляемая в ядро
Код: Выделить всё
options HZ="1000"
Нет, ребята, я не гордый. Не загадывая вдаль, так скажу: зачем мне орден? Я согласен на медаль.
- terminus
- майор
- Сообщения: 2305
- Зарегистрирован: 2007-10-29 11:27:35
- Откуда: Рига
Re: Подробное руководство по ipfw nat
http://www.freebsd.org/cgi/man.cgi?quer ... ormat=html
DUMMYNET(4) FreeBSD Kernel Interfaces Manual DUMMYNET(4)
NAME
dummynet -- traffic shaper, bandwidth manager and delay emulator
DESCRIPTION
The dummynet system facility permits the control of traffic going through
the various network interfaces, by applying bandwidth and queue size lim-
itations, implementing different scheduling and queue management poli-
cies, and emulating delays and losses.
The user interface for dummynet is implemented by the ipfw(8) utility, so
please refer to the ipfw(8) manpage for a complete description of the
dummynet capabilities and how to use it.
Kernel Options
The following options in the kernel configuration file are related to
dummynet operation:
IPFIREWALL enable ipfirewall (required for dummynet)
IPFIREWALL_VERBOSE enable firewall output
IPFIREWALL_VERBOSE_LIMIT limit firewall output
DUMMYNET enable dummynet operation
HZ set the timer granularity
Generally, the following options are required:
options IPFIREWALL
options DUMMYNET
options HZ=1000 # strongly recommended
Additionally, one may want to increase the number of mbuf clusters (used
to store network packets) according to the sum of the bandwidth-delay
products and queue sizes of all configured pipes.
SEE ALSO
setsockopt(2), if_bridge(4), ip(4), ipfw(8), sysctl(8)
HISTORY
The dummynet facility was initially implemented as a testing tool for TCP
congestion control by Luigi Rizzo <luigi@iet.unipi.it>, as described on
ACM Computer Communication Review, Jan.97 issue. Later it has been modi-
fied to work at the IP and bridging levels, integrated with the ipfw(4)
packet filter, and extended to support multiple queueing and scheduling
policies.
FreeBSD 7.2 October 28, 2002 FreeBSD 7.2
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.
-
- лейтенант
- Сообщения: 613
- Зарегистрирован: 2009-08-05 16:10:46
- Откуда: Украина Днепропетровск-Киев
- Контактная информация:
Re: Подробное руководство по ipfw nat
а в кавычках или без?
- в разных источниках по-разному
Код: Выделить всё
options HZ="1000"
Нет, ребята, я не гордый. Не загадывая вдаль, так скажу: зачем мне орден? Я согласен на медаль.
- terminus
- майор
- Сообщения: 2305
- Зарегистрирован: 2007-10-29 11:27:35
- Откуда: Рига
Re: Подробное руководство по ipfw nat
да по-ходу все равно... у меня в кавычках
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.
-
- ефрейтор
- Сообщения: 53
- Зарегистрирован: 2009-06-17 14:02:58
Re: Подробное руководство по ipfw nat
Появилась возможность наконец протестировать два подключения в инет на одной машине . Предварительный результат - натится трафик только на один из интерфейсов. На втором все заканчивается еще на разрешающих правилах. Собственно, есть два вопроса - надо ли использовать skipto для юзеров, отправляемых по второму каналу и надо ли использовать routetables?
-
- лейтенант
- Сообщения: 613
- Зарегистрирован: 2009-08-05 16:10:46
- Откуда: Украина Днепропетровск-Киев
- Контактная информация:
Re: Подробное руководство по ipfw nat
Так оно еще может на заработать (ядерный нат на двух каналах в инет) ??
Нет, ребята, я не гордый. Не загадывая вдаль, так скажу: зачем мне орден? Я согласен на медаль.
- terminus
- майор
- Сообщения: 2305
- Зарегистрирован: 2007-10-29 11:27:35
- Откуда: Рига
Re: Подробное руководство по ipfw nat
непонял...Snake писал(а):Собственно, есть два вопроса - надо ли использовать skipto для юзеров, отправляемых по второму каналу
в рецепте написано, что ядро надо пересобрать с опцыей включающей 2 таблицы. сделали так?Snake писал(а):и надо ли использовать routetables?
скрипт для выставления defoultroute во второй таблице при загрузке подкдючили?
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.
-
- ефрейтор
- Сообщения: 53
- Зарегистрирован: 2009-06-17 14:02:58
Re: Подробное руководство по ipfw nat
опцию при сборке ядра включил, да. число таблиц 2
Вот я и говорю, надо ли использовать setfib?скрипт для выставления defoultroute во второй таблице при загрузке подкдючили?
Ну в смысле у меня есть две таблицы с айпишниками. Одну таблицу надо пустить по одному маршруту, вторую - по другому. Я так понял уже можно жестко назначить, кому какую таблицу маршрутизации назначать?непонял...
- terminus
- майор
- Сообщения: 2305
- Зарегистрирован: 2007-10-29 11:27:35
- Откуда: Рига
Re: Подробное руководство по ipfw nat
без этого нельзя. а иначе во второй таблице default маршрута не будет и смысла в использовании ipfw setfib не станет.Snake писал(а):Вот я и говорю, надо ли использовать setfib?
в пятом примере вся фишка в динамическом распределении соединений через prob 0.5 и keep-state. имеет ли смысл "жестко назначать"? может тогда четвертый пример за основу брать?Ну в смысле у меня есть две таблицы с айпишниками. Одну таблицу надо пустить по одному маршруту, вторую - по другому. Я так понял уже можно жестко назначить, кому какую таблицу маршрутизации назначать?
правила ipfw покажите
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.
-
- рядовой
- Сообщения: 13
- Зарегистрирован: 2008-08-24 18:01:24
Re: Подробное руководство по ipfw nat
странно но получается полный бред по первому варианту
раньше с natd мне не приходилось открывать все порты
файрволл работал в allow all
теперь если применить nat
входящие обращения на порты ng0 подпадают видимо под нат
то есть ни до одного порта не достучатся
хоть их и слушают
раньше с natd мне не приходилось открывать все порты
файрволл работал в allow all
теперь если применить nat
Код: Выделить всё
00100 818 352261 nat 123 ip from any to any via ng0
00200 280 196629 allow ip from any to any
65535 376377 55138181 deny ip from any to any
то есть ни до одного порта не достучатся
хоть их и слушают
- terminus
- майор
- Сообщения: 2305
- Зарегистрирован: 2007-10-29 11:27:35
- Откуда: Рига
Re: Подробное руководство по ipfw nat
там в заметке много букав среди них есть описание работы директивы deny_in и параметра sysctl net.inet.ip.fw.one_pass.
покажите:
и
---
а если по-быстрому, то решение проблемы либо делать дырки в фаерволе - ставить правила разрешающие прохождение трафика на конкретные порты перед заворачиванием трафика в нат, либо делать дыкри в самом нате с помощью директивы redirect_port.
покажите:
Код: Выделить всё
ipfw nat 123 show config
Код: Выделить всё
sysctl -a | grep one_pass
а если по-быстрому, то решение проблемы либо делать дырки в фаерволе - ставить правила разрешающие прохождение трафика на конкретные порты перед заворачиванием трафика в нат, либо делать дыкри в самом нате с помощью директивы redirect_port.
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.
-
- рядовой
- Сообщения: 13
- Зарегистрирован: 2008-08-24 18:01:24
Re: Подробное руководство по ipfw nat
убрал deny in побежали пакетики)
спасибо очень оперативно
а one pass я задаю прямо в конфиге
вот так
спасибо очень оперативно
а one pass я задаю прямо в конфиге
вот так
Код: Выделить всё
${ipfw} enable one_pass