Подробное руководство по ipfw nat
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
- проходил мимо
Re: Подробное руководство по ipfw nat
Трафик где то стопорится.
Может упростить задачу ?? Надо всего лишь в локалке раздать полноценный инет на 10 машин с урезанием скорости до 16Кб.
Я даже поставил Unbound, который вроде как работает.
Может упростить задачу ?? Надо всего лишь в локалке раздать полноценный инет на 10 машин с урезанием скорости до 16Кб.
Я даже поставил Unbound, который вроде как работает.
Услуги хостинговой компании 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/
- terminus
- майор
- Сообщения: 2305
- Зарегистрирован: 2007-10-29 11:27:35
- Откуда: Рига
Re: Подробное руководство по ipfw nat
сорри - это я пифка малость перебрал сегодня
вот так правильно:
---
и я еще нашел у себя одну ошибку в 6м примере - там где объясняется движение трафика приходящего из интернета. Сча исправля. Там не будет переходя на nat по check-state так как приходящий из интернета трафик не имеет оригинального IP, а значит в таблице динамических правил соответствия не будет.
Надо подумать как лучше реализовать эту схему...

вот так правильно:
Код: Выделить всё
one_pass = 0
Код: Выделить всё
table 1 add 192.168.1.3/32
table 1 add 192.168.1.25/32
table 1 add 192.168.1.26/32
pipe 1 config bw 16Kbit/s mask src-ip 0xffffffff
pipe 2 config bw 16Kbit/s mask dst-ip 0xffffffff
add 1000 allow ip from table(1) to any via vr0
add 1001 allow ip from any to table(1) via vr0
add 1040 deny ip from any to any via vr0
add 1070 deny ip from any to 172.16.0.0/12 in recv vr1
add 1080 deny ip from 172.16.0.0/12 to any in recv vr1
add 1090 deny ip from any to 10.0.0.0/8 in recv vr1
add 10100 deny ip from 10.0.0.0/8 to any in recv vr1
add 10110 deny ip from any to 169.254.0.0/16 in recv vr1
add 10120 deny ip from 169.254.0.0/16 to any in recv vr1
nat 1 config if vr1 reset same_ports deny_in redirect_port tcp 192.168.1.3:6881
6881 redirect_port udp 192.168.1.3:4444 4444
add 10129 pipe 1 ip from any to any out xmit vr1
add 10130 nat 1 tcp from any to any out xmit vr1 limit src-addr 80
add 10131 allow tcp from any to any out xmit vr1
add 10140 nat 1 ip from any to any out xmit vr1
add 10141 allow all from any to any out xmit vr1
add 10150 nat 1 ip from any to any in recv vr1
add 10151 pipe 2 ip from any to any in recv vr1
add 10160 allow all from any to any
add 65534 deny all from any to any
и я еще нашел у себя одну ошибку в 6м примере - там где объясняется движение трафика приходящего из интернета. Сча исправля. Там не будет переходя на nat по check-state так как приходящий из интернета трафик не имеет оригинального IP, а значит в таблице динамических правил соответствия не будет.
Надо подумать как лучше реализовать эту схему...
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.
-
- ефрейтор
- Сообщения: 53
- Зарегистрирован: 2009-10-22 21:41:46
Re: Подробное руководство по ipfw nat
ОЙ, два последних поста мои, это я просто забыл Вход выполнить.
-
- ефрейтор
- Сообщения: 53
- Зарегистрирован: 2009-10-22 21:41:46
Re: Подробное руководство по ipfw nat
Пиво это хорошо. Только вот я когда как за руль сел, так сразу пришлось от него отказаться, о чем сожелею временами.
- terminus
- майор
- Сообщения: 2305
- Зарегистрирован: 2007-10-29 11:27:35
- Откуда: Рига
Re: Подробное руководство по ipfw nat
Заработало то что я накарябал как исправленный вариант? должно.
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.
-
- ефрейтор
- Сообщения: 53
- Зарегистрирован: 2009-10-22 21:41:46
Re: Подробное руководство по ipfw nat
Щас проверяю, но с первого раза не пошло, щас исправил net.inet.ip.fw.one_pass=0 на one_pass=0
)))
)))
- terminus
- майор
- Сообщения: 2305
- Зарегистрирован: 2007-10-29 11:27:35
- Откуда: Рига
Re: Подробное руководство по ipfw nat
Нет, параметр должен быть полным net.inet.ip.fw.one_pass=0, я просто сократил его от лени 
---
предпологается что в том конфиге пишуться параметры sysctl выставляемые при запуске системы. Чтобы не перезапускать копм можно на ходу выставить из рутовой консоли:

---
предпологается что в том конфиге пишуться параметры sysctl выставляемые при запуске системы. Чтобы не перезапускать копм можно на ходу выставить из рутовой консоли:
Код: Выделить всё
# sysctl net.inet.ip.fw.one_pass=0
Последний раз редактировалось terminus 2009-10-22 22:14:00, всего редактировалось 1 раз.
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.
-
- ефрейтор
- Сообщения: 53
- Зарегистрирован: 2009-10-22 21:41:46
Re: Подробное руководство по ipfw nat
Может какиенить ещё данные надо для точности ??
А то так не работает. Или может ещё гденить подправить надо.
table 1 add 10.1.1.14/32
table 1 add 10.1.1.15/32
table 1 add 10.1.1.16/32
table 1 add 10.1.1.17/32
pipe 1 config bw 132Kbit/s mask src-ip 0xffffffff
pipe 2 config bw 132Kbit/s mask dst-ip 0xffffffff
add 1000 allow ip from table(1) to any via vr0
add 1001 allow ip from any to table(1) via vr0
add 1040 deny ip from any to any via vr0
add 1070 deny ip from any to 172.16.0.0/12 in recv vr1
add 1080 deny ip from 172.16.0.0/12 to any in recv vr1
#add 1090 deny ip from any to 10.0.0.0/8 in recv vr1
#add 10100 deny ip from 10.0.0.0/8 to any in recv vr1
add 10110 deny ip from any to 169.254.0.0/16 in recv vr1
add 10120 deny ip from 169.254.0.0/16 to any in recv vr1
nat 1 config if vr1 reset same_ports deny_in redirect_port tcp 192.168.1.3:6881
6881 redirect_port udp 192.168.1.3:4444 4444
add 10129 pipe 1 ip from any to any out xmit vr1
add 10130 nat 1 tcp from any to any out xmit vr1 limit src-addr 80
add 10131 allow tcp from any to any out xmit vr1
add 10140 nat 1 ip from any to any out xmit vr1
add 10141 allow all from any to any out xmit vr1
add 10150 nat 1 ip from any to any in recv vr1
add 10151 pipe 2 ip from any to any in recv vr1
add 10160 allow all from any to any
add 65534 deny all from any to any
А то так не работает. Или может ещё гденить подправить надо.
table 1 add 10.1.1.14/32
table 1 add 10.1.1.15/32
table 1 add 10.1.1.16/32
table 1 add 10.1.1.17/32
pipe 1 config bw 132Kbit/s mask src-ip 0xffffffff
pipe 2 config bw 132Kbit/s mask dst-ip 0xffffffff
add 1000 allow ip from table(1) to any via vr0
add 1001 allow ip from any to table(1) via vr0
add 1040 deny ip from any to any via vr0
add 1070 deny ip from any to 172.16.0.0/12 in recv vr1
add 1080 deny ip from 172.16.0.0/12 to any in recv vr1
#add 1090 deny ip from any to 10.0.0.0/8 in recv vr1
#add 10100 deny ip from 10.0.0.0/8 to any in recv vr1
add 10110 deny ip from any to 169.254.0.0/16 in recv vr1
add 10120 deny ip from 169.254.0.0/16 to any in recv vr1
nat 1 config if vr1 reset same_ports deny_in redirect_port tcp 192.168.1.3:6881
6881 redirect_port udp 192.168.1.3:4444 4444
add 10129 pipe 1 ip from any to any out xmit vr1
add 10130 nat 1 tcp from any to any out xmit vr1 limit src-addr 80
add 10131 allow tcp from any to any out xmit vr1
add 10140 nat 1 ip from any to any out xmit vr1
add 10141 allow all from any to any out xmit vr1
add 10150 nat 1 ip from any to any in recv vr1
add 10151 pipe 2 ip from any to any in recv vr1
add 10160 allow all from any to any
add 65534 deny all from any to any
- terminus
- майор
- Сообщения: 2305
- Зарегистрирован: 2007-10-29 11:27:35
- Откуда: Рига
Re: Подробное руководство по ipfw nat
оформляйте листинги красиво с использовуанием кнопок [соde] - тут с этим строго...
---
покажите вывод
---
ну или еще можно попробовать ребутнуть комп и попробовать тогда...
---
покажите вывод
Код: Выделить всё
sysctl -a | grep "net.inet.ip.forwarding"
sysctl -a | grep one_pass
ipfw -d show
ну или еще можно попробовать ребутнуть комп и попробовать тогда...

Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.
-
- ефрейтор
- Сообщения: 53
- Зарегистрирован: 2009-10-22 21:41:46
Re: Подробное руководство по ipfw nat
Если бы я умел то сразу бы так и делал, а учиться и эксперементировать просто некогда.
Вот что у меня поулчается:
Я всегда ребучю его после исправлений, а то что то на команду /etc/rc.d/ipfw restart система плохо реагирует.
Вот что у меня поулчается:
Код: Выделить всё
/usr/home/fill/>sysctl -a | grep "net.inet.ip.forwarding"
net.inet.ip.forwarding: 1
/usr/home/fill/>sysctl -a | grep one_pass
net.inet.ip.fw.one_pass: 0
/usr/home/fill/>ipfw -d show
00100 48 5026 allow ip from any to any via lo0
00200 0 0 deny ip from any to 127.0.0.0/8
00300 0 0 deny ip from 127.0.0.0/8 to any
01000 778 41815 allow ip from table(1) to any via vr0
01001 49 8002 allow ip from any to table(1) via vr0
01040 1412 118260 deny ip from any to any via vr0
01070 0 0 deny ip from any to 172.16.0.0/12 in recv vr1
01080 0 0 deny ip from 172.16.0.0/12 to any in recv vr1
10110 0 0 deny ip from any to 169.254.0.0/16 in recv vr1
10120 0 0 deny ip from 169.254.0.0/16 to any in recv vr1
65535 1017 51735 deny ip from any to any
/usr/home/fill/>
- terminus
- майор
- Сообщения: 2305
- Зарегистрирован: 2007-10-29 11:27:35
- Откуда: Рига
Re: Подробное руководство по ipfw nat
Код: Выделить всё
ipfw -d show

Ищите синтаксическую ошибку в /etc/firewall (или как вы этот файл обозвали где все параметры настройки ipfw пишите?) - параметры настройки ната (nat 1 config if vr1 ...) должны быть все в одну строчку без переносов.
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.
-
- ефрейтор
- Сообщения: 53
- Зарегистрирован: 2009-10-22 21:41:46
Re: Подробное руководство по ipfw nat
Может с ДНС проблемы какиенить ??
Просто по Примеру 6 все работало и в инет выходило, и закачивало, только видео на страничках не показывало и на Гарену не заходило, поэтому я сделал вывод что ДНС вроде как работает. Покрайне мере пинг на маил.ру идет хорошо.
Просто по Примеру 6 все работало и в инет выходило, и закачивало, только видео на страничках не показывало и на Гарену не заходило, поэтому я сделал вывод что ДНС вроде как работает. Покрайне мере пинг на маил.ру идет хорошо.
- terminus
- майор
- Сообщения: 2305
- Зарегистрирован: 2007-10-29 11:27:35
- Откуда: Рига
Re: Подробное руководство по ipfw nat
Ищите синтаксическую ошибку в /etc/firewall. У вас не обрабатываются настройки начиная со строки
проверьте чтобы в ней небыло ошибок и чтобы она была в одну строчку (без переноса как тут после 192.168.1.3:6881)
Код: Выделить всё
nat 1 config if vr1 reset same_ports deny_in redirect_port tcp 192.168.1.3:6881
6881 redirect_port udp 192.168.1.3:4444 4444
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.
-
- ефрейтор
- Сообщения: 53
- Зарегистрирован: 2009-10-22 21:41:46
Re: Подробное руководство по ipfw nat
Так я выложил постом выше все правила которые есть, больше их нету, и они находятся только в /etc/firewall
А в rc.conf firewall_enable="YES"
firewall_type="/etc/firewall"
А в rc.conf firewall_enable="YES"
firewall_type="/etc/firewall"
-
- ефрейтор
- Сообщения: 53
- Зарегистрирован: 2009-10-22 21:41:46
Re: Подробное руководство по ipfw nat
ДА, в двух строках правило ната было описано, неуглядел. Хотя до этого сам руками писал его и оно было в одну строку, а последний раз из форума скопировал код, а там конец строки и перенос.
)))
)))
- terminus
- майор
- Сообщения: 2305
- Зарегистрирован: 2007-10-29 11:27:35
- Откуда: Рига
Re: Подробное руководство по ipfw nat
нувот ато йауже началбеспокоится 
заработало теперь?

заработало теперь?
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.
-
- ефрейтор
- Сообщения: 53
- Зарегистрирован: 2009-10-22 21:41:46
Re: Подробное руководство по ipfw nat
УУРРАААААА, заработало, завтра буду скорость настраивать, а то что то не такая совсем как выставлена в настройках.
И буду пользователей подключать и проверять работу системы.
А ещё можно сделать проверку на IP+MAC ??? А то начнут щас свой ИП по кругу пускать.
И буду пользователей подключать и проверять работу системы.
А ещё можно сделать проверку на IP+MAC ??? А то начнут щас свой ИП по кругу пускать.
-
- ефрейтор
- Сообщения: 53
- Зарегистрирован: 2009-10-22 21:41:46
Re: Подробное руководство по ipfw nat
Блин, завтра на учёбу с первой пары, а всё хочется сегодня понастроить, пока масть идет.
-
- ефрейтор
- Сообщения: 53
- Зарегистрирован: 2009-10-22 21:41:46
Re: Подробное руководство по ipfw nat
Мдя, скорость померил, показывает нормально, как и выставлялось на 16 Кб.
А вот сайты Mail.ru и Lenta.ru открываются медленее.
И на Гарену не заходит. Это не естьАйс.
А вот сайты Mail.ru и Lenta.ru открываются медленее.
И на Гарену не заходит. Это не естьАйс.
- terminus
- майор
- Сообщения: 2305
- Зарегистрирован: 2007-10-29 11:27:35
- Откуда: Рига
Re: Подробное руководство по ipfw nat
вы можете проверить работу вот такой конфигурации?
Она тоже должна ограничивать количество сессий, но будет делать это красивее
ограничения на MAC тоже обойти легко поменяв мак адрес 
Она тоже должна ограничивать количество сессий, но будет делать это красивее
Код: Выделить всё
table 1 add 10.1.1.14/32
table 1 add 10.1.1.15/32
table 1 add 10.1.1.16/32
table 1 add 10.1.1.17/32
pipe 1 config bw 132Kbit/s mask src-ip 0xffffffff
pipe 2 config bw 132Kbit/s mask dst-ip 0xffffffff
add 999 allow tcp from table(1) to any via vr0 limit src-addr 80
add 1000 allow ip from table(1) to any via vr0
add 1001 allow ip from any to table(1) via vr0
add 1040 deny ip from any to any via vr0
add 1070 deny ip from any to 172.16.0.0/12 in recv vr1
add 1080 deny ip from 172.16.0.0/12 to any in recv vr1
#add 1090 deny ip from any to 10.0.0.0/8 in recv vr1
#add 10100 deny ip from 10.0.0.0/8 to any in recv vr1
add 10110 deny ip from any to 169.254.0.0/16 in recv vr1
add 10120 deny ip from 169.254.0.0/16 to any in recv vr1
nat 1 config if vr1 reset same_ports deny_in redirect_port tcp 192.168.1.3:6881
6881 redirect_port udp 192.168.1.3:4444 4444
add 10129 pipe 1 ip from table(1) to any out xmit vr1
add 10140 nat 1 ip from any to any via vr1
add 10151 pipe 2 ip from any to table(1) in recv vr1
add 10160 allow all from any to any
add 65534 deny all from any to any

Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.
-
- ефрейтор
- Сообщения: 53
- Зарегистрирован: 2009-10-22 21:41:46
Re: Подробное руководство по ipfw nat
Зато сразу будет видно что МАС меняли и пользовались инетом на другом компе.
А вот если будут менятся ИП то это никак не узнать, только если пользователи будут жаловаться на конфликт ИП адресов.
А вот если будут менятся ИП то это никак не узнать, только если пользователи будут жаловаться на конфликт ИП адресов.
-
- ефрейтор
- Сообщения: 53
- Зарегистрирован: 2009-10-22 21:41:46
Re: Подробное руководство по ipfw nat
Второй пример не работает.
((
((
- terminus
- майор
- Сообщения: 2305
- Зарегистрирован: 2007-10-29 11:27:35
- Откуда: Рига
Re: Подробное руководство по ipfw nat
точно или точно? может сново перенос строки скопировался? ipfw -d show?FilosofBeer писал(а):Второй пример не работает.
((
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.
- terminus
- майор
- Сообщения: 2305
- Зарегистрирован: 2007-10-29 11:27:35
- Откуда: Рига
Re: Подробное руководство по ipfw nat
если есть желание замарачиваться с мак адресами:
sysctl.conf
sysctl.conf
Код: Выделить всё
net.link.ether.ipfw=1
net.inet.ip.fw.one_pass=0
Код: Выделить всё
table 1 add 10.1.1.14/32
table 1 add 10.1.1.15/32
table 1 add 10.1.1.16/32
table 1 add 10.1.1.17/32
pipe 1 config bw 132Kbit/s mask src-ip 0xffffffff
pipe 2 config bw 132Kbit/s mask dst-ip 0xffffffff
add 1 skipto 40000 all from any to any layer2 in
add 1 skipto 999 all from any to any not layer2 in
add 1 skipto 999 all from any to any not layer2 out
add 1 skipto 60000 all from any to any layer2 out
add 999 allow tcp from table(1) to any via vr0 limit src-addr 80
add 1000 allow ip from table(1) to any via vr0
add 1001 allow ip from any to table(1) via vr0
add 1040 deny ip from any to any via vr0
add 1070 deny ip from any to 172.16.0.0/12 in recv vr1
add 1080 deny ip from 172.16.0.0/12 to any in recv vr1
#add 1090 deny ip from any to 10.0.0.0/8 in recv vr1
#add 10100 deny ip from 10.0.0.0/8 to any in recv vr1
add 10110 deny ip from any to 169.254.0.0/16 in recv vr1
add 10120 deny ip from 169.254.0.0/16 to any in recv vr1
nat 1 config if vr1 reset same_ports deny_in redirect_port tcp 192.168.1.3:6881
6881 redirect_port udp 192.168.1.3:4444 4444
add 10129 pipe 1 ip from table(1) to any out xmit vr1
add 10140 nat 1 ip from any to any via vr1
add 10151 pipe 2 ip from any to table(1) in recv vr1
add 10160 allow all from any to any
# mac dst-mac src-mac
# mac any 10:20:30:40:50:60/48
# 10:20:30:40:50:60 is client's mac address
add 40000 allow ip from any to any mac any 10:20:30:40:50:60/48 in layer2 recv vr0
add 40001 allow ip from any to any mac any 10:20:30:40:50:61/48 in layer2 recv vr0
add 40002 allow ip from any to any mac any 10:20:30:40:50:62/48 in layer2 recv vr0
add 40003 allow ip from any to any mac any 10:20:30:40:50:63/48 in layer2 recv vr0
add 50000 deny all from any to any layer2 in recv vr0
add 50001 allow all from any to any layer2 in
add 60000 allow all from any to any layer2 out
add 65533 deny all from any to any
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.
-
- ефрейтор
- Сообщения: 53
- Зарегистрирован: 2009-10-22 21:41:46
Re: Подробное руководство по ipfw nat
Да, точно, вот:terminus писал(а):точно или точно? может сново перенос строки скопировался? ipfw -d show?FilosofBeer писал(а):Второй пример не работает.
((
Код: Выделить всё
/usr/home/fill/>ipfw -d show
00100 54 5296 allow ip from any to any via lo0
00200 0 0 deny ip from any to 127.0.0.0/8
00300 0 0 deny ip from 127.0.0.0/8 to any
00999 267 31436 allow tcp from table(1) to any via vr0 limit src-addr 80
01000 8 1728 allow ip from table(1) to any via vr0
01001 0 0 allow ip from any to table(1) via vr0
01040 944 77517 deny ip from any to any via vr0
01070 0 0 deny ip from any to 172.16.0.0/12 in recv vr1
01080 0 0 deny ip from 172.16.0.0/12 to any in recv vr1
10110 0 0 deny ip from any to 169.254.0.0/16 in recv vr1
10120 0 0 deny ip from 169.254.0.0/16 to any in recv vr1
10129 0 0 pipe 1 ip from table(1) to any out xmit vr1
10140 23 2208 nat 1 ip from any to any via vr1
10151 0 0 pipe 2 ip from any to table(1) in recv vr1
10160 22 1968 allow ip from any to any
65534 0 0 deny ip from any to any
65535 4 312 deny ip from any to any
## Dynamic rules (4):
00999 0 0 (0s) PARENT 1 tcp 10.1.1.14 0 <-> 0.0.0.0 0
00999 0 0 (0s) PARENT 1 tcp 10.1.1.15 0 <-> 0.0.0.0 0
00999 260 31100 (300s) LIMIT tcp 10.1.1.14 6418 <-> 10.1.1.252 22
/usr/home/fill/>