Народ, помогите настроить правила для ipfw. Машина должна быть невидимой для соединений извне, но пропускать все извнутренней сетки.
nat_interface='rl0'
in_iface='rl1'
out_ip='xx.xx.xx.xx'
in_net='192.168.0.0/24'
${fwcmd} add allow ip from any to any via ${in_iface}
${fwcmd} add divert 8668 ip from ${in_net} to any via ${natd_interface}
${fwcmd} add divert 8668 ip from any to ${out_ip} via ${natd_interface}
${fwcmd} add check-state
${fwcmd} add allow udp from me to any via ${nat_interface} keep-state
${fwcmd} add allow tcp from me to any via ${nat_interface} keep-state
${fwcmd} add allow icmp from any to anyЗагвоздка в двух предпоследних правилах. Если вместо from me to any вписать from any to any, все работает, но ведь при этом можно устанавливать соединения извне. Как это запретить?
Нашел еще одну кострукцию в man:
allow tcp from me to any setup
allow tcp from any to any established
Можно ли сделать подобное для udp?
>allow tcp from me to any setup
>allow tcp from any to any established
местами тока надо было бы поменять>Можно ли сделать подобное для udp?
добавь 2 правила
${fwcmd} add allow udp from ${in_net} to any in via ${in_iface}
${fwcmd} add allow udp from any to ${in_net}
А ты не боишься пропускать все пакеты ICMP в обоих направлениях?
В том числе и фрагментированные ICMP-пакеты
Я пускаю только 0,3,4,8,11 причём так, чтобы пинговать только от меня можно было
Если у тебя нет портов к которым ты хочешь подцепляться извне, то задай
add deny log tcp from ext_iface to me setupНу и желательно зафильтровать всякие левые адреса через внешний интерфейс типа
add deny log ip from any to any via ext_iface -scr-ip 127.0.0.0/8
add deny log ip from any to any via ext_iface -dst-ip 127.0.0.0/8
Итак с 10.0.0.0/8 172.16.0.0/16 192.168.0.0/16 224.0.0.0/12
255.255.255.255 0.0.0.0 169.254.254.0
add deny log ip from any to me in via ext_iface -src-ip meХотя, может я зря всего боюсь, хрен знает :)