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.
#!/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.
Ü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.