- FreeBsd Ipfw, dl, 19:12 , 24-Май-21 (1) +1
Можно не пересобиратьsysrc firewall_enable="YES" или ручками в rc.conf настройка логов через: sysctl net.inet.ip.fw.verbose sysctl net.inet.ip.fw.verbose_limit Ядерный нат: IN-KERNEL NAT ipfw [-q] nat number config config-options
- FreeBsd Ipfw, Сергей, 23:24 , 24-Май-21 (2)
Да уже начиная с 8-мой пересобирать не надо было, Посмотрите дефолтный /etc/rc.firewall, по моему там все просто расписано...
- FreeBsd Ipfw, arachnid, 16:36 , 25-Май-21 (3) +1
как уже сказали выше, нет, не нужно - все можно загрузить модулямkldload ipfw, ipfw_nat (модуль libalias подгрузится самостоятельно) - только осторожно - по умолчанию ipfw закрыт - deny all from any to any 2. не совсем - модули могут быть загружены и одновременно. divert просто перенапрявляет пакеты демону natd 3. нет 4. схему приложи - накидаю примерно
- FreeBsd Ipfw, DevSet, 13:42 , 27-Май-21 (4)
Сейчас конфиг такой: rc.conf Internet ifconfig_em0="inet 1.1.1.1 netmask 255.255.255.248" Alias internet ftp ifconfig_em0_alias0="inet 1.1.2.1 netmask 255.255.255.255" Local Network ifconfig_em1="inet 192.168.1.10 netmask 255.255.255.0" DMZ ifconfig_em2="inet 192.168.2.10 netmask 255.255.255.0" Правила #!/bin/sh #reset rules ipfw -q -f flush #-------main network------- #macro net="em0" lan="em1" dmz="em2" cmd="ipfw -q add" skip="skipto 2000" #kernel nat 1 config ipfw -q nat 1 config if $net same_ports unreg_only \ redirect_port tcp 192.168.2.31:21 21 \ redirect_port tcp 192.168.2.31:20 20 \ redirect_port tcp 192.168.2.31:30000-31000 30000-31000 \ redirect_port tcp 192.168.1.58:443 443 \ redirect_port tcp 192.168.2.60:25 25 #-------rules network ------- #allow networks $cmd 0001 allow all from any to any via $lan $cmd 0002 allow all from any to any via $dmz $cmd 0004 allow all from any to any via lo0 #kernel nat 1 in $cmd 0040 nat 1 ip from any to any in via $net #dinamic rules $cmd 0050 check-state #-------out network------- #allow trafic from gate out $cmd 0060 $skip tcp from any to any out via $net setup keep-state $cmd 0061 $skip udp from any to any out via $net keep-state $cmd 0062 $skip icmp from any to any out via $net keep-state #exchange trafic out $cmd 0070 $skip tcp from 192.168.1.58 443 to any $cmd 0071 $skip tcp from 192.168.2.60 25 to any #dmz ftp trafic out $cmd 0072 $skip tcp from 192.168.2.31 20,21,30000-31000 to any #-------in network------- #exchange trafic in $cmd 0130 allow tcp from any to 192.168.1.58 443 $cmd 0131 allow tcp from any to 192.168.2.60 25 #dmz ftp trafic in $cmd 0130 allow tcp from any to 192.168.2.31 20,21,30000-31000 #-------end network------- #deny all $cmd 0500 deny log all from any to any in via $net $cmd 0510 deny log all from any to any out via $net #kernel nat 1 out $cmd 2000 nat 1 ip from any to any out via $net $cmd 3000 allow ip from any to any #deny all other $cmd 4000 deny log all from any to any
- FreeBsd Ipfw, DevSet, 13:52 , 27-Май-21 (5)
Проблема в том что не работает редирект и не работает ftp из интернета по адресу 1.1.1.1 (вымышленный) Схема https://ibb.co/BghYSMt
- FreeBsd Ipfw, arachnid, 17:39 , 31-Май-21 (8)
> Проблема в том что не работает редирект и не работает > ftp из интернета по адресу 1.1.1.1 (вымышленный) > Схема > https://ibb.co/BghYSMt и gateway_enable="yes" в /etc/rc.conf есть? ps. у вас там правила ната не совсем корректно прописаны, но точнее скажу, когда вы приведете вывод ipfw
- FreeBsd Ipfw, Devset, 08:38 , 01-Июн-21 (9)
>> Проблема в том что не работает редирект и не работает >> ftp из интернета по адресу 1.1.1.1 (вымышленный) >> Схема >> https://ibb.co/BghYSMt > и gateway_enable="yes" в /etc/rc.conf есть? > ps. у вас там правила ната не совсем корректно прописаны, но точнее > скажу, когда вы приведете вывод ipfw > и gateway_enable="yes" в /etc/rc.conf есть?Есть
- FreeBsd Ipfw, Devset, 11:57 , 31-Май-21 (6)
> как уже сказали выше, нет, не нужно - все можно загрузить модулям > kldload ipfw, ipfw_nat (модуль libalias подгрузится самостоятельно) - только осторожно > - по умолчанию ipfw закрыт - deny all from any to > any > 2. не совсем - модули могут быть загружены и одновременно. divert просто > перенапрявляет пакеты демону natd > 3. нет > 4. схему приложи - накидаю примерно Приложил
- FreeBsd Ipfw, arachnid, 17:14 , 31-Май-21 (7) +1
и еще вывод команд ipfw show и ipfw nat show config
- FreeBsd Ipfw, Devset, 08:44 , 01-Июн-21 (10)
> и еще вывод команд ipfw show и ipfw nat show config gate-01:~ # ipfw show 00001 88144381 64989212950 allow ip from any to any via em1 00002 2620 136240 allow ip from any to any via em2 00003 31867890 18506893372 allow ip from any to any via tun0 00004 678 171322 allow ip from any to any via lo0 00010 21442036 10416892137 allow udp from any to me 1194 00011 23334762 15556716106 allow udp from me 1194 to any 00020 0 0 deny ip6 from any to any 00021 0 0 deny udp from any to any 546 00022 0 0 deny udp from any to any 547 00040 35883220 43530335534 nat 1 ip from any to any in via em0 00050 0 0 check-state :default 00060 49399902 43171443857 skipto 2000 tcp from any to any out via em0 setup keep-state :default 00061 6522916 3133645162 skipto 2000 udp from any to any out via em0 keep-state :default 00062 1778 241239 skipto 2000 icmp from any to any out via em0 keep-state :default 00070 5673 3619426 skipto 2000 tcp from 192.168.1.20 443 to any 00071 788 114095 skipto 2000 tcp from 192.168.1.21 25 to any 00130 6819 567081 allow tcp from any to 192.168.1.20 443 00131 898 68262 allow tcp from any to 192.168.1.21 25 00140 0 0 allow tcp from 192.168.1.250 to me 70000 in via em0 setup limit src-addr 2 :default 00500 132920 9709344 deny log logamount 40 ip from any to any in via em0 00510 31799 3647102 deny log logamount 40 ip from any to any out via em0 02000 20188473 2789072830 nat 1 ip from any to any out via em0 03000 55931055 46309063551 allow ip from any to any 04000 0 0 deny log logamount 40 ip from any to any 65535 754 116157 deny ip from any to any gate-01:~ # ipfw nat show config ipfw nat 1 config if em0 same_ports unreg_only redirect_port tcp 192.168.1.21:25 25 redirect_port tcp 192.168.1.20:443 443 С меня на пиво)
- FreeBsd Ipfw, arachnid, 14:04 , 03-Июн-21 (11)
из того, что вижу (и на что рекомендую обращать внимание в будущем при написании) - выводы того, что мы хотим (в скрипте) и того, что получаем - отличаются. и это сразу повод смотреть в отличия более внимательно :)плюс, если разбить правило ната на несколько, будет проще по счетчикам смотреть, что и как. ну и для упрощения понимания можно первыми ставить правила ната на уходящий от нас трафик, а потом в конце обрабатывать входящий - можно будет отказаться от skip $int_lan="192.168.0.0/16" ipfw nat 10 config if $net deny_in same_port reset ipfw nat 20 config if $net redirect_port tcp 192.168.2.31:21 21 192.168.2.31:20 20 192.168.2.31:30000-31000 30000-31000 ipfw nat 30 config if $net redirect_port tcp 192.168.2.60:25 25 ipfw nat 40 config if $net redirect_port tcp 192.168.1.58:443 443 #-------rules network ------- #allow networks $cmd 0001 allow all from any to any via $lan # а имеет ли смысл правило 2 ? дмз же нужна, что бы изолировать сервисы, а вы разрешаете все - по хорошему вам надо разрешить пользоватлеям из локалки доступ к необходимым сервисам в дмз и доступ из дмз наружу. $cmd 0002 allow all from any to any via $dmz $cmd 0004 allow all from any to any via lo0
# разрешаем прохождение трафика снаружи к сервисам внутри $cmd 0040 nat 20 tcp from any to me 20,21,30000-31000 via $net $cmd 0041 nat 30 tcp from any to me 25 via $net $cmd 0041 nat 40 tcp from any to me 443 via $net # разрешаем пользователям локальной сети и дмз уходить наружу $cmd 50 nat 10 from $int_lan to any via $net # правила 60 и 61 не нужны. опять же, два правила можно заменить одним при использовании allow all вместо allow tcp allow udp # и у вас тут как-то странно - вроде как почтовик то в дмз(.2), то в .1 $cmd 100 allow tcp from 192.168.1.58 443 to any keep-sate # разрешаем пакетам снуружи попадать на нат - оно должно быть последним перед полным запретом $cmd 10000 nat 10 ip from any to me via $net
|