LINUX.ORG.RU

nat & masquerading


0

0

как при помощи iptables настроить nat (_не_путать_с_маскарадингом!_) например адрес 192.168.0.1 преобразовать в 123.231.111.222 и наоборот, а адрес 192.168.0.2 в 123.231.111.223 и наоборот

а так же маскарадинг, например адреса 192.168.0.1 и 192.168.0.2 преобразовать в 123.231.111.222
и где в /proc можно получить статистику по отправленному и принятому количеству байт по каждому локальному адресу

желательно с примерами
PS: про комманду "man" в курсе

anonymous

Ответ на: комментарий от anonymous

нет возможности эксперементировать, желательно готовые варианты

anonymous
()

На радуйся, сам как 5 минут разобрался :)))

Делать форвард
cat 1 /proc/sys/net/ipv4/ip_forward

modprobe ip_nat_ftp
modprobe ip_nat_irc
modprobe iptable_filter
modprobe iptable_nat
...

I guess you want the outside can reach 10.0.0.250:80 with your public
IP. So you have to DNAT this public IP :

    iptables -t nat -A PREROUTING -i $ext_iface -p tcp -d 210.11.11.11 \
    --dport 80 -j DNAT --to 10.0.0.1:80

And do not forget to allow this kind of traffic in FORWARD chain :

    iptables -A FORWARD -i $ext_iface -o $in_iface -m state \
    --state NEW,ESTABLISHED -p tcp -d 10.0.0.1 --dport 80 \
    -j ACCEPT

    iptables -A FORWARD -i $in_iface -o $ext_iface -m state \
    --state ESTABLISHED -p tcp -s 10.0.0.1 --sport 80 \
    -j ACCEPT

And masquerading stuff for the 10.0.0.250 network :

    iptables -t nat -A POSTROUTING -o ext_iface -s 10.0.0.0/24 \
    -j SNAT --to-source 210.11.11.11

And for the FORWARD chain :

    iptables -A FORWARD -i $in_iface -o $ext_iface -m state \
    --state NEW,ESTABLISHED,RELATED -s 10.0.0.0/24 \
    -j ACCEPT

    iptables -A FORWARD -i $ext_iface -o $in_iface -m state \
    --state ESTABLISHED,RELATED -d 10.0.0.0/24 \
    -j ACCEPT

Читать статистику
cat /proc/net/ip_conntrack


--
Я, Муромец Илья, Я только из пеленок ... :)

anonymous
()
Ответ на: комментарий от anonymous

а нат_ирц, нат_фтп, так же --спорт --дпорт обязательно? т.к. это абсолютно мне не нужно, нужно всё полностью, все порты, все протоколы (tcp, udp, icmp)

anonymous
()
Ответ на: комментарий от anonymous

можно и не указывать.
можно указать -p all
--dport 0:65535
--sport 0:65535
Но где же тогда секюрити?
Хотя,  хозяин барин!
Вот http://gazette.linux.ru.net/rus/articles/iptables-tutorial.html
Там по русски написано ;)

--
Я, Муромец Илья. Я только из пелёнок ... :)

anonymous
()
Ответ на: комментарий от anonymous

Да забыл:
nat_irc
nat_ftp
iptable_nat
ip_conntrack_ftp
ip_conntrack
и т.д. подгружают модули таблиц в ядро которые правильно
позволяют работать с этими протоколами при маскировании 
адресов (в твоём случае с DNAT/SNAT). Видишь ли FTP работает
в двух режимах и открывает несколько протоколов - за чем и следит
модуль ip_conntrack_ftp и nat_ftp.
Ну и так далее.

А tcp, udp и icmp далеко не все протоколы :)
--
Я, Муромец Илья. Я только из пелёнок ... :)

anonymous
()
Ответ на: комментарий от anonymous

ну есть ещё igmp, но он не нужен, а какие ещё протоколы семейства ip?
а на ядре 2.2 у меня всё замечательно через ipchains работало, безо всякой специальной поддержки фтр и прочих протоколов высокого уровня

а все порты - просто доступ в инет определённым хостам

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.