Титла: ipfw+natd Публикувано от: Neoromantic в Feb 16, 2010, 14:27 Опитвам се да напиша някъв прост firewall с ipfw
pif="xl0" lif="xl1" cmd="/sbin/ipfw -q" $cmd add 005 divert 8668 ip from any to any in via $pif $cmd add 006 check-state $cmd add 007 allow tcp from any to 192.168.0.2 limit src-addr 100 $cmd add 010 allow all from any to any via $lif $cmd add 011 allow all from any to any via lo $cmd add 012 divert 8668 ip from any to any out via $pif В natd.conf имам redirect_port tcp 192.168.0.2:8080 80 като на 192.168.0.2 имам един уеб сървър. Целта е да огранича конекциите към него. Когато сложа правилото 007 нищо не става. Махна ли го всичко върви. С iptables ми е по лесно, но тука..не разбирам кво се случва... Ако съм разбрал правилно - на 005, това което влиза през външния интерфейс му се прави dnat, след което пакета минава на следващото правило и т.н. Тогава какъв е проблема да не мога да огранича конекциите....?! Титла: Re: ipfw+natd Публикувано от: koue в Feb 16, 2010, 17:10 Под "нищо не става" какво трябва да разбираме?
Титла: Re: ipfw+natd Публикувано от: Neoromantic в Feb 18, 2010, 13:49 Не се отваря страницата на 192.168.0.2 и си мисля, че причината е в това, че на влизане пакета се "мачва" от 005, сменя му се destination-a и после се "мачва" от 007. Дотук "ОК", но пакета който се връща се "мачва" на 012...
Сега преработих редовете така: cmd="/sbin/ipfw -q" $cmd add 005 divert 8668 ip from any to any via $pif $cmd add 006 check-state $cmd add 007 allow tcp from any to 192.168.0.2 out via $lif setup limit src-addr 100 $cmd add 010 allow all from any to any via $lif $cmd add 011 allow all from any to any via lo и работи. $pif = публичен интерфейс $lif = локален интерфейс |