26 Jan 2010

Server-Ports auf einen anderen Server weiterleiten

Wenn man von einem Server bestimmte Ports an einen anderen Server weiterleiten will, kann man das so tun. Im Beispiel mit dem Counter-Strike-Server, aber das gilt natürlich für alle anderen Ports/Serverdienste genauso.

# echo 1 > /proc/sys/net/ipv4/ip_forward
# iptables -A PREROUTING -t nat -i eth0 -p udp --dport \
 27015 -j DNAT --to 87.173.215.92:27015
# iptables -A PREROUTING -t nat -i eth0 -p tcp --dport \
 27015 -j DNAT --to 87.173.215.92:27015

# iptables -A FORWARD -j ACCEPT
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Das Ergebnis betrachten:

# iptables --list
Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

# iptables --list PREROUTING -t nat
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
DNAT udp -- anywhere anywhere udp dpt:27015 to:87.173.215.92:27015
DNAT tcp -- anywhere anywhere tcp dpt:27015 to:87.173.215.92:27015

Alle regeln Löschen:

# iptables --flush
# iptables -t nat --flush