Мар 10 2011

Исходные данные: есть шлюз на ubuntu, надо, чтобы с инета был доступен некий сервис на внутренней машине.

iptables -t nat -A PREROUTING -p tcp -d 91.195.101.20 –dport 7888 -j DNAT –to-destination 192.168.100.251:7888
iptables -t nat -A POSTROUTING -p tcp –dst 192.168.100.251 –dport 7888 -j SNAT –to-source 91.195.101.20

Первое правило подменяет IP приёмника на внутренний IP, а второе обратно подменяет IP отправителя на внешний.

Поделиться:

Автор: JohnnyТэги: , , , , ,


4 комментария to “Проброс порта в iptables”

  1. 1. wizard580 Says:

    эм… а разве не:
    iptables -t nat -A POSTROUTING -p tcp -s 192.168.100.251 —sport 7888 -j SNAT —to-source 91.195.101.20

    к тому же 192.168.100.251:7888 не обязательно, можно просто 192.168.100.251 ибо порт не меняется.
    к тому же, обратное правило зачем? на шлюзе у нас уже будет SNAT/MASQUERADE, так что все отработает в лучшем виде.

    и вообще сделанное подразумевает, что в -t filter в FORWARD оно не задропано. мы ведь на шлюзе, да?

    я не прав?

  2. 2. Johnny Says:

    И мое, и Ваше правило одинаково будет работать …
    Насчет порта — он указан на тот случай, если будет необходимость смены порта. Если порт тот же, конечно, можно его не указывать.
    Если мы на шлюзе, то да, обратное правило не нужно. Этот пример дернул с одного из наших серверов, на котором нат не поднят.

  3. 3. wizard580 Says:

    я конечно не вижу всей картины…
    мне не понятно почему будет одинаково..
    расскажете?

  4. 4. switch Says:

    Подскажите а как пробросить nat для сайта типа mail.ru

Оставьте свой комментарий

Нужно войти в систему, чтобы оставлять комментарии.



Блог саратовского админа   

При использовании материалов сайта на других ресурсах прошу оставлять прямую ссылку на оригинал статьи.