Как в Linux перебросить соединение через NAT во внутреннюю сеть
Первый путь – пробрасывание только порта:
- iptables -t nat -A PREROUTING -p tcp -d EXT_R_IP --dport 10000 -j DNAT --to-destination LOCAL_IP:80
- iptables -A FORWARD -i eth0 -d LOCAL_IP -p tcp --dport 22 -j ACCEPT
Второй вариант – выброс всей машины наружу (если есть свободные адреса):
- ifconfig eth0:0 NEW_IP netmask NETMASK broadcast BROADCAST
- route add NEW_IP gw GW netmask 0.0.0.0 metric 1 dev eth0:0
- iptables -t nat -A PREROUTING -p tcp -d NEW_IP -j DNAT --to-destination LOCAL_IP
- iptables -A FORWARD -i eth0 -d LOCAL_IP -j ACCEPT
Обозначения: EXT_R_IP – внешний IP роутера, LOCAL_IP – внутренний IP машины, которую хочешь выбросить
NEW_IP – новый IP на который хочешь посадить машину, которая имеет локальный LOCAL_IP
NETMASK, BROADCAST, GW – внешние netmask, broadcast и gateway
Слова:
Linux,
iptables
Nov. 17, 2006 // 13:52 [ permalink : LJ ]