Publiczne IP w sieci wewnętrznej.

Podczas mojej codziennej pracy wyniknął pewien problem – musiałem przydzielić publiczne IP dla maszyny za NAT’em. Problemem była kwestia JAK to zrobić. Początkowo miałem problem ze sformułowaniem odpowiedniego zapytania dla google, po chwili jednak wpadłem na pomysł, żeby zapytać o “NAT 1:1″. Podsuwam więc solucję dla takiego rozwiązania, gdyby ktoś miał w przyszłości podobny problem:

ifconfig $dev:2 $zewip broadcast $brd netmask $mask up
/usr/sbin/iptables -t nat -I PREROUTING -s 0/0 -d $zewip -j DNAT --to $wewip
/usr/sbin/iptables -t nat -I POSTROUTING -s $wewip -d 0/0 -j SNAT --to $zewip
/usr/sbin/iptables -I FORWARD -d $zewip -j ACCEPT
/usr/sbin/iptables -I FORWARD -s $wewip -j ACCEPT
/usr/sbin/iptables -I FORWARD -d $wewip -j ACCEPT
/usr/sbin/iptables -I INPUT -d $zewip -j ACCEPT

Gdzie $dev to interfejs zewnętrzny, reszta chyba nie wymaga komentarza. Mam nadzieję, że komuś tym pomogę.