Пусть интернет раздает сервер с Ubuntu 9.04 на несколько компьютеров по локальной сети. Нужно чтобы извне был доступен некий сервис на компьютере во внутренней сети, например торренты. Для этого необходимо сделать проброс портов с сервера на внутреннюю машину. В Ubuntu это делается с помощью iptables. Покажу на примере проброса порта для торрентов, поскольку это чаще всего людям и бывает нужно в первую очередь Мой порт торрентов на внутренней машине – 13107 (это можно посмотреть в настройках торрент-клиента). Нужно создать 2 правила для iptables. 1. Это правило подменяет IP приемника на внутренний IP: sudo iptables -t nat -A PREROUTING -p tcp -d ВНЕШНИЙ_IP --dport 13107 -j DNAT --to-destination ВНУТРЕННИЙ_IP:13107 2. Это правило обратно подменяет IP отправителя на внешний: sudo iptables -t nat -A POSTROUTING -p tcp --dst ВНУТРЕННИЙ_IP --dport 13107 -j SNAT --to-source ВНЕШНИЙ_IP На всякий случай поясню: ВНЕШНИЙ_IP – это IP инета, который выдаётся провайдером (посмотреть можно командой ifconfig на сервере) ВНУТРЕННИЙ_IP – это локальный IP компьютера во внутренней сети. Посмотреть текущие правила iptables можно с помощью команды: sudo iptables -L -n -v -t nat
Источник: http://alexmuz.ru/ubuntu-iptables/ |