Skip to content


NAT в linux

Исходные данные: есть роутер с двумя физическими интерфейсами - eth0 (внешний) и eth1 (внутренний). На внутреннем интерфейсе прибит ip-адрес 192.168.0.1/24. Для того, чтобы включить NAT (network address translation) в его упрощенном варианте, который называется маскардинг (встречается таже термин "маскарад") нужно сделать следующее:

  1. echo 1 > /proc/sys/net/ipv4/ip_forward
  2. iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j MASQUERADE
  3. iptables -I FORWARD -d 192.168.0.0/24 -j ACCEPT
  4. iptables -I FORWARD -s 192.168.0.0/24 -j ACCEPT

Чтобы действие из п.1 не приходилось выполнять каждый раз после перезагрузки роутера, нужно поправить соответствующую опцию в /etc/sysctl.conf

Если требуется построить NAT в другую сторону, известный также как DNAT, то это можно сделать примерно так:

  1. iptables -t nat -A PREROUTING -p tcp -d 195.5.5.1 –dport 8182 -j DNAT –-to-destination 10.10.10.18:80

Здесь 195.5.5.1 – внешний ip-адрес сервера, попытки установить соединение на 195.5.5.1 tcp-порт 8182 будут перенапрявляться на машину во внутренней сети с ip-адресом 10.10.10.18 на порт 80. При этом 10.10.10.18 должен быть directly-connected для сервера (то есть доступным для нашего сервера с DNAT-ом без использования промежуточных маршрутизаторов). А вот если это условие не выполняется, проброс портов можно сделать с помощью xinetd.

Если какая-то машинка за NAT-ом испытывает трудности с подключением к внешнему VPN-серверу и винда показывает ошибку №619, то стоит попробовать включить модуль ядра ip_nat_pptp на linux-роутере, который исполняет NAT:

  1. modprobe ip_nat_pptp
Информация халаты трикотажные оптом Иваново тут. . Фурнитура шуко для алюминиевых окон schuco окна каталоги и проспекты фурнитуры. .

Размещено в категории *nix, Howto. Теги: , , , .

Комментариев: 4

Чтобы быть всегда в курсе здесь происходящего, Вы можете подписаться на RSS feed для комментариев на эту заметку.

  1. adam said

    Спасибо автору за пост, именно то что искал :)

  2. Александр said

    Спасибо!!! Наконец заработало!!!
    Теперь буду пробовать глубже копать!
    Автору респект :)

  3. anonym said

    тоже сталкивались с ошибкой 619, оказалось что протокол gre блокировался шлюзом

  4. женя said

    Ну наконец нашел! Просто и ясно,огромное спасибо!

Some HTML is OK

(required)

(required, but never shared)

, или ответить через trackback.

Страница 1 из 11