iptables - extern2extern NAT

Um Dienste eines Servers direkt auf Paketebene auf einen anderen Server umleiten zu können, kann man iptables verweden. Durch DNAT können somit einzelne Dienste auf andere Server umgeleitet werden.

Technologie/Skript

#!/bin/bash
# Skript um Dienste eines externen Servers auf einen anderen Server umzuleiten
# Es muss hierzu auf dem LOCALWAN Server kein Dienst laufen!
# (GPL) Thomas (Tom) Baumann, tiri GmbH <http://www.tiri.li>
LOCALWAN=ei.pi.ad.dr
LPORT=81
EXTWAN=ip.ad.dr.ss
DPORT=83
sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A PREROUTING  -p tcp -d ${LOCALWAN} --destination-port ${LPORT} -j DNAT --to-destination ${EXTWAN}:${DPORT}
iptables -t nat -A POSTROUTING -p tcp --dst ${EXTWAN} --dport ${DPORT} -j SNAT --to-source ${LOCALWAN}
iptables -A FORWARD -p tcp -d ${EXTWAN} --dport ${DPORT} -j ACCEPT

Im Skript wird eine TCP Anfrage auf port 81 des LOCALWAN Servers umgeleitet auf den Port 83 des Zielsystems.

Debugging

Über iptables -t nat -v -L -n und iptables -v -L -n kann man erkennen, ob Pakete übermittelt werden. Und ansonsten überzeugt ja das Ergebnis, wenn auf dem Port 81 der Port 83 des Zielsystems antwortet. :-)

 
wissen/linux/iptables-external-to-external-nat-dnat-masquerade-howto.txt · Zuletzt geändert: 13.08.2009 20:19 von tirili
 
Recent changes RSS feed Donate Valid XHTML 1.0 Valid CSS Recent cached RSS feed cacert-signed web site: inhalt.serviert.de