Главная > Linux > Пробрасывание порта средствами iptables внутрь локальной сети
Пробрасывание порта средствами iptables внутрь локальной сети15 апреля 2009. Разместил: dimon |
Нужно пробросить порт внутрь локальной сети (т.е. вывесить порт сервера, находящегося внутри локальной сети в сеть во-вне, на внешний IP) с помощью iptables.
Проброс в локальную сеть через шлюз по умолчанию (для машины куда он делается). Исходные данные: WAN_IP - внешний IP адрес WAN_PORT - внешний порт ETH1 - внешний сетевой интерфейс сервера ETH0 - внутренний сетевой интерфейс сервера COMP_IP - IP адрес машины (в локальной сети) на которую надо пробросить порт COMP_PORT - собственно сам порт на локальной машине xx.xx.xx.xx - IP адрес компа с которого мы будем подключаться Необходимо в файл /etc/sysconfig/iptables добавить правила: -A INPUT -s xx.xx.xx.xx -i ETH1 -p tcp -m tcp --dport WAN_PORT -j ACCEPT -A FORWARD -s xx.xx.xx.xx -i ETH1 -p tcp -m tcp --dport WAN_PORT -j ACCEPT Тут я немного не понял: Везде написано, что достаточно правила FORWARD, однако у нас пакеты не попадали в остальные цепочки - сразу отбрасывались. Возможно из-за каких-то других настроек iptables. Поэтомы мы и дописали правило INPUT. -s xx.xx.xx.xx - это дополнительная фильтрация входящих пакетов. Так мы сможем подключиться к WAN_IP:WAN_PORT только с ip=xx.xx.xx.xx. Сделано для повышения безопасности. Теперь в таблице NAT нужно добавить правило (в файле /etc/sysconfig/iptables после строки *nat): -A PREROUTING -p tcp -i ETH1 --dport WAN_PORT -j DNAT --to-destination COMP_IP:COMP_PORT В соответствии с этим правилом, все пакеты, поступающие на WAN_PORT порт интерфейса ETH1 перенаправляются на наш внутренний компьютер COMP_IP:COMP_PORT. Посмотрим получившиеся правила: [root@srv /]# iptables -L -n -v Chain PREROUTING (policy ACCEPT 394 packets, 28084 bytes) pkts bytes target prot opt in out source destination 1 76 DNAT tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:WAN_PORT to:COMP_IP:COMP_PORT Chain INPUT (2 references) pkts bytes target prot opt in out source destination 893 58796 ACCEPT tcp -- * * xx.xx.xx.xx 0.0.0.0/0 tcp dpt:WAN_PORT Вернуться назад |