Ru-Board.club
← Вернуться в раздел «UNIX»

» Общие вопросы по FreeBSD

Автор: tsypkin
Дата сообщения: 21.10.2013 16:21
gryu


Цитата:
Это вы по IPFW?  
Фаервол в режиме open сейчас работает.  


Я вижу, но все равно сделайте, у вас даже то что на loopback идет заворачивается на divert и то что натиться не должно вообще ( from mr to any ) туда же улетает.
Не должно так быть.
Автор: res2001
Дата сообщения: 21.10.2013 16:23
gryu
Включил бы уже ядерный НАТ давно, глядишь и проблемма бы исчезла и от диверта избавился бы.
Автор: goletsa
Дата сообщения: 21.10.2013 16:23
У вас сложные правила в natd?
Попробуйте для теста pf nat, убрав divert.
И все равно смущает много жрущий dhcpd, можете на (внутреннем подозреваю?) интерфейсе записать трафик и посмотреть нету ли повторяющихся фреймов. Может просто закольцовка? И бродкасты вешают сетевую подсистему?
[more=pf.conf]
#cat /etc/pf.conf

set limit states 500000
set optimization aggressive

scrub in all fragment reassemble
scrub out all random-id max-mss 1480

nat pass on lagg0 from 10.5.0.0/16 to any -> 1.2.3.4

[/more]

[more=rc.conf]
$ cat /etc/rc.conf | grep pf
# pf
pf_enable="YES"
pf_rules="/etc/pf.conf"
pf_program="/sbin/pfctl"
pf_flags=""
# pf logging
pflog_enable="YES"
pflog_logfile="/var/log/pflog"
pflog_program="/sbin/pflogd"
pflog_flags=""
[/more]


Добавлено:
Покажите
netstat -w1
И для каждого из интерфейсов
netstat -w1 -I bge0 итд
Автор: res2001
Дата сообщения: 21.10.2013 16:28
У него своих правил нет.
Эти правила сформировал стандартный rc.firewall при установленной опции
firewall_enable="yes"
firewall_type="open"
natd_enable="yes"
Автор: goletsa
Дата сообщения: 21.10.2013 16:30
res2001
Однако.
У меня не стандартный rc.firewall, потому не знаю что там в стоке.
Ну оставить тогда allow from any to any и поднять pfnat на внешнем интерфейсе.
Автор: res2001
Дата сообщения: 21.10.2013 16:41
goletsa
Стандартный можешь глянуть в /usr/share/examples/etc/rc.firewall
У меня тож не стандартный, сам там смотрю.
Автор: gryu
Дата сообщения: 21.10.2013 16:41
res2001
goletsa
Сижу уж очень далеко.
Стрёмно немного лезть по удалёнке в ядро.
Вечером сяду спокойно, выкину из башки всё лишнее и пересоберу ядро.
А то народ вокруг крутится.. одна ошибка и беги покупай билет на электричку....
Автор: res2001
Дата сообщения: 21.10.2013 16:42
gryu
Ты пока можешь поднять ядерный нат загрузкой модуля, проверишь как оно работает, если будет все нормуль, то и собирай ядро тогда, если захочешь.
Автор: gryu
Дата сообщения: 21.10.2013 16:43
тоже самое с правилами фаервола.

Цитата:
меня не стандартный rc.firewall, потому не знаю что там в стоке.
я заглянул и пардон, нихрена не понял. Накрутили больно много чего. Садится и вдумчиво разбиратся нужно.
У меня тоже он не стандартный всегда....
Автор: goletsa
Дата сообщения: 21.10.2013 16:45
gryu
А причем тут ядро? pf как и ipfw можно модулем загрузить.
Хотя конечно удаленно настраивать файрвол, это к дороге (с)народная мудрость.
Сделайте ipfw add 1 allow ip from any to any чтобы исключить все остальные правила.
И попробуйте прописать конфиги что я дал (под себя изменив адреса и интерфейсы) и сделать /etc/rc.d/pf start
Оно должно само загрузить необходимые модули ядра, без пересборки.
Автор: gryu
Дата сообщения: 21.10.2013 16:45
Гм.
Кто знает.
Конфиг от 7-й фряхи под фаервол подойдёт?
Мне проще походу перекинуть со старого и подправить.
Автор: goletsa
Дата сообщения: 21.10.2013 16:47
gryu

Цитата:
Конфиг от 7-й фряхи под фаервол подойдёт?

Я разнице в синтаксисе не заметил.
Но там несложный шейпер на дамминет с таблицами
Использую версии с 7 по 9
Автор: gryu
Дата сообщения: 21.10.2013 16:48
goletsa
res2001
Так. Стоп.
Вы не забыли что у меня УЖЕ в ядре фаервол и диверт по старому?
Если подгружать модулями то конфликтов не получу?

причём фаервол "не отключаемый"
Автор: goletsa
Дата сообщения: 21.10.2013 16:49
gryu
Если у вас one-pass то добавление правила что я давал должно выключить все правила после.
Т.е. divert должен будет выключиться. Ну или явно грохните то правило, чтобы не перенаправляло в natd.
Во фре если не ошибаюсь 3 firewall'а. Они вполне могут работать одновременно.
Автор: res2001
Дата сообщения: 21.10.2013 16:49
gryu
Не получишь.
Поставь firewall_enable="NO" и включи PF
Проще все же с ядерным натом ну это как хочешь.
Автор: goletsa
Дата сообщения: 21.10.2013 16:51
res2001

Цитата:
Поставь firewall_enable="NO" и включи PF

Это только после перезагрузки повлияет.
Он не будет грузить rc.firewall.

Автор: gryu
Дата сообщения: 21.10.2013 16:53
goletsa
res2001

Цитата:
Поставь firewall_enable="NO"
чуть раньше обсуждалось.
У меня нет в ядре IPFIREWALL_DEFAULT_TO_ACCEPT
Машина при firewall_enable="NO" закрывает все интерфейсы наглухо.


Добавлено:
P.S.
Склоняюсь к правке rc.firewall и включении существующего фаера.
Помоему это более безопасно будет.
У меня этот конфиг достаточно прост.
гм. Только там по ip6 нет ничего, но это по идее не должно повлиять.

Цитата:
Если у вас one-pass то добавление правила что я давал должно выключить все правила после.
угу. Ток в дефолтовом варианте я боюсь нетуда воткну..
Автор: goletsa
Дата сообщения: 21.10.2013 17:02
gryu
А вы на живую правила меняйте.
Не трогайте пока файлы ipfw, пока не отладите все.



Добавлено:
gryu

ipfw add 1 allow ip from any to any

Добавит правило с номером 1 которое будет все разрешать.


Добавлено:
Плюс я бы на всякий добавил пару правил
ipfw add 2 allow ip from me to any
ipfw add 2 allow ip from any to me
И удалил пока divert
ipfw del 50
Но только после добавления разрешающих правил.
А то диверт на себя все заворачивает.


Добавлено:
Это все для тестов естественно.
Потом такие правила лучше убрать, они просто открывают сервер полностью наружу.
Автор: gryu
Дата сообщения: 21.10.2013 17:07
goletsa
Угу. Спасибо.
Попробую.
Поехал я на базу... продолжу оттуда. А то если ещё задержусь, КПП не выпустит....
Автор: goletsa
Дата сообщения: 21.10.2013 17:10
gryu

Цитата:
гм. Только там по ip6 нет ничего, но это по идее не должно повлиять.  

Я пока все о V6 выпилил из ядра.

Закоментив при сборке:

#options INET6 # IPv6 communications protocols
#options SCTP # Stream Control Transmission Protocol


Автор: gryu
Дата сообщения: 21.10.2013 17:19
Ха! А походу помогло!
Пока собирался, запустил опять по циклу make cleandepend && make depend
Пока НАТ ведёт себя нормально.
Всё. Я уехал.
Автор: goletsa
Дата сообщения: 21.10.2013 18:42
gryu
Что помогло? Прибить divert?
Автор: tsypkin
Дата сообщения: 21.10.2013 18:48
Можно посмотреть еще раз ipfw show
Автор: gryu
Дата сообщения: 21.10.2013 18:53
goletsa
tsypkin
Я применил все правила http://forum.ru-board.com/topic.cgi?forum=65&topic=3200&start=1480#15
По отдельности не проверял.

Код: ipfw show
00001 554299 456858376 allow ip from any to any
00002 0 0 allow ip from me to any
00002 0 0 allow ip from any to me
00100 81825617 4582234488 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
00400 0 0 deny ip from any to ::1
00500 0 0 deny ip from ::1 to any
00600 4 312 allow ipv6-icmp from :: to ff02::/16
00700 0 0 allow ipv6-icmp from fe80::/10 to fe80::/10
00800 1 96 allow ipv6-icmp from fe80::/10 to ff02::/16
00900 0 0 allow ipv6-icmp from any to any ip6 icmp6types 1
01000 0 0 allow ipv6-icmp from any to any ip6 icmp6types 2,135,136
65000 42066852 117270058903 allow ip from any to any
65535 8 704 deny ip from any to any
Автор: tsypkin
Дата сообщения: 21.10.2013 19:26
gryu
Получается работал ядерный nat и natd что-ли...
Автор: gryu
Дата сообщения: 21.10.2013 22:04
tsypkin
Приехал домой.
Тут у меня сервак стоит ... тоже с 9-й и собранным ядром как и "там"
Исключение одно. Не установлен DHCP.
Так вот. Фифекта жрущего НАТа нет.
Я лаптоп подключил за ним и радио включил.
ну и поразвлекался с задачам.
нет. всё же тут совсем не то.

Добавлено:
goletsa
Цитата:
Что помогло? Прибить divert?

Внесение первого правила
ipfw add 2 allow ip from me to any
Снизило загрузку NAT до 10 %
Внесение второго правила
ipfw add 2 allow ip from any to me
Снизило загрузку NAT до 0%

Диверт не удалял.

Короче буду
1. копать правила ipfw
2. пересобирать ядро по новому принципу.
и смотреть.
Автор: tsypkin
Дата сообщения: 21.10.2013 23:31

Цитата:
Внесение первого правила  
ipfw add 2 allow ip from me to any  
Снизило загрузку NAT до 10 %
Внесение второго правила  
ipfw add 2 allow ip from any to me  
Снизило загрузку NAT до 0%


Я что-то не увидел в последнем ipfw show правила divert
Автор: gryu
Дата сообщения: 21.10.2013 23:44
Это было две разных попытки.
Первый раз - Я применил все правила .....
По отдельности не проверял.

Тогда же был и результат ipfw show
И второй раз когда приехал домой и перегрузив сервер взялся за более подробные исследования.
Во второй раз только два первых правила.
Диверт уже не удалял.



Добавлено:
И ещё.
Подсунул свой старый rc.firewall
Ну что, похоже так же "фифект NAT-а" тоже исчез.
Загрузка ~3% при потоковой перекачки по FTP
Автор: tsypkin
Дата сообщения: 21.10.2013 23:52
ну еще можно 3-им
allow ip from any to any via lo0
Автор: gryu
Дата сообщения: 21.10.2013 23:53
Вот результват со "старым проверенным" rc.firewall
[more]ipfw show
00100 0 0 check-state
00200 0 0 allow ip from any to any via lo0
00300 0 0 deny ip from any to 127.0.0.0/8
00400 0 0 deny ip from 127.0.0.0/8 to any
00500 0 0 deny ip from any to 10.0.0.0/8 in via bce0
00600 0 0 deny ip from any to 172.16.0.0/12 in via bce0
00700 0 0 deny ip from any to 192.168.0.0/16 in via bce0
00800 0 0 deny ip from any to 0.0.0.0/8 in via bce0
00900 0 0 deny ip from any to 169.254.0.0/16 in via bce0
01000 34 2998 deny ip from any to 240.0.0.0/4 in via bce0
01100 0 0 deny icmp from any to any frag
01200 0 0 deny log logamount 100 icmp from any to 255.255.255.255 in via bce0
01300 0 0 deny log logamount 100 icmp from any to 255.255.255.255 out via bce0
01400 77 5354 divert 8668 ip from 192.168.0.0/24 to any out via bce0
01500 446219 660857106 divert 8668 ip from any to <внешний IP> in via bce0
01600 0 0 allow ip from <IP для надо> to any
01700 0 0 allow ip from any to <IP для надо>
01800 0 0 allow ip from any to any dst-port 123
01900 0 0 allow ip from any 123 to any
02000 0 0 deny ip from 10.0.0.0/8 to any out via bce0
02100 0 0 deny ip from 172.16.0.0/12 to any out via bce0
02200 0 0 deny ip from 192.168.0.0/16 to any out via bce0
02300 0 0 deny ip from 0.0.0.0/8 to any out via bce0
02400 0 0 deny ip from 169.254.0.0/16 to any out via bce0
02500 0 0 deny ip from 224.0.0.0/4 to any out via bce0
02600 0 0 deny ip from 240.0.0.0/4 to any out via bce0
02700 682255 674054703 allow tcp from any to any established
02800 53 3206 allow ip from <внешний IP> to any out xmit bce0
02900 16 4869 allow udp from any 53 to any via bce0
03000 0 0 allow udp from any to any dst-port 53 via bce0
03100 0 0 allow tcp from any to <внешний IP> dst-port 21 via bce0
03200 0 0 allow tcp from any to <внешний IP> dst-port 49152-65535 via bce0
03300 0 0 allow icmp from any to any icmptypes 0,8,11
03400 0 0 allow tcp from any to <внешний IP> dst-port 80 via bce0
03500 1 52 allow tcp from any to <внешний IP> dst-port 22 via bce0
03600 0 0 allow tcp from any to <внешний IP> dst-port 143 via bce0
03700 0 0 allow tcp from any to <внешний IP> dst-port 110 via bce0
03800 4 208 allow tcp from any to any via bce1
03900 28 3251 allow udp from any to any via bce1
04000 0 0 allow icmp from any to any via bce1
04100 75 6830 deny ip from any to any
65535 10 816 deny ip from any to any
[/more]

Вообще говоря это не совсем рабочий. Это стандартная болванка.
Потом допиливается по месту.

Добавлено:
А два продряд
04100 75 6830 deny ip from any to any
65535 10 816 deny ip from any to any
Это потому что в rc.firewall у меня принудительно прописано это правило.
Просто иногда ПОЧЕМУ-ТО если не прописать у меня было что его небыло. Хотя оно ДОЛЖНО автоматом ставится. (хотя это "иногда" вообще говоря относится к уже забытым временам. Но так и кочует в болванке....)

P.S.
Всё. Перевёл фаервол в режим симпл. Работает. "эффект НАТ" пока не проявляется.
..... Мда. Это получается что разрабы что то такое левое в дефолтном rc.firewall написали...

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172

Предыдущая тема: Ubuntu


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.