Я перелапатил кучу документов в интернете и нашел два
варианта переброса порта на машину локальной сети.
Допустим нам нужно при попытке зайти ssh на машину x.x.x.x чтобы соединение перебрасывалось на машину 192.168.0.10.
Как я понял существует два варианта(version1/version2).
Оба варианта нихрена не работают. Причем не работают не только у меня (данные интернета).
На машина на которой я это пытаюсь осуществить установлен был
RedHat 7.2 (там в ядре был ipchains). Я туда поставил ядро
Linux 2.4.19 в нем были установлены все сетевые возможности и все возможности iptables. Они были вкомпилированы в ядро.
Ниже приводится скрипт который под этой системой нихрена не пашет.
У меня в конторе есть ещё один роутер он соединяет две подсети. Он работает под управление RedHat 8.0 ядро - 2.4.18-14. Ставился как рабочая станция.
Вот на нем я пробовал вот так вот делать:
$IPTABLES -t nat -A PREROUTING -p tcp -d $INET_IP --dport 22 -j DNAT --to-destination 192.168.0.10:22
$IPTABLES -A FORWARD -i $INET_IFACE -d 192.168.0.10 -p tcp --dport 22 -j ACCEPT
только менял ip адреса.
Всё работает замечательно!
Объясните мне что у меня не так. Сервак с RedHat 7.2 очень не хочется
сносить.
#!/bin/bash
IPTABLES="/sbin/iptables"
INET_IP="x.x.x.x"
INET_IFACE="eth0"
LAN_IP="192.168.0.1"
LAN_IP_RANGE="192.168.0.0/24"
LAN_IP_RANGE2="194.190.67.0/24"
LAN_BCAST_ADRESS="192.168.0.255"
LAN_BCAST_ADRESS2="194.190.67.255"
LAN_IFACE="eth1"
LO_IFACE="lo"
LO_IP="127.0.0.1"
echo "1">/proc/sys/net/ipv4/ip_forward
$IPTABLES -F
$IPTABLES -t nat -F
$IPTABLES -P INPUT ACCEPT
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD ACCEPT
#version 1
#$IPTABLES -t nat -A PREROUTING -d $INET_IP -i $INET_IFACE -p tcp -m tcp --dport 22 -j DNAT -to-destination 192.168.0.10:22
#$IPTABLES -t nat -A POSTROUTING -d 192.168.0.10 -o $INET_IFACE -p tcp -m tcp --dport 22 -j SNAT --to-source $INET_IP
#$IPTABLES -A FORWARD -d 192.168.0.10 -p tcp -m tcp --dport 22 -m state --state NEW -j ACCEPT
#version 2
$IPTABLES -t nat -A PREROUTING -p tcp -d $INET_IP --dport 22 -j DNAT --to-destination 192.168.0.10:22
$IPTABLES -A FORWARD -i $INET_IFACE -d 192.168.0.10 -p tcp --dport 22 -j ACCEPT