bitmuncher
Senior-Nerd
Ausgangssituation
- 1x Gateway-Server (eth0:externe IP, eth1 und eth2: 192.168.0.2 und 192.168.0.4)
- mehrfach Irgendein-Server mit SSH (eth0 mit 192.168.0.X-Adresse, Bsp: Server1 mit eth0 192.168.0.11)
- 1x Loadbalancer, an dem alle Rechner hängen, der aber intern nur als Switch fungiert
Ziel:
Die Ports 60XX des Gateway-Servers sollen ein Port-Forwarding zu den Irgendein-Servern machen. So soll z.B. Port 6001 auf dem Gateway-Server zum SSH von 192.168.0.11 führen, Port 6002 auf 192.168.0.12 usw..
Leider geht's mit dieser Regel nicht:
Obwohl es nach sämtlichen Anleitungen und der Manpage nach funktionieren müsste. Der Loadbalancer mischt sich offenbar nicht ein, wie man einem Traceroute auf dem Gateway entnehmen kann:
Die Prerouting-Regel wird offenbar auch korrekt erstellt:
Und der Rest der Firewall-Regeln weisst eigentlich auch nichts auf, was das Durchleiten des Ports verhindern könnte.
Was hab ich übersehen? Jemand eine Idee an welcher Stelle es hängen könnte?
- 1x Gateway-Server (eth0:externe IP, eth1 und eth2: 192.168.0.2 und 192.168.0.4)
- mehrfach Irgendein-Server mit SSH (eth0 mit 192.168.0.X-Adresse, Bsp: Server1 mit eth0 192.168.0.11)
- 1x Loadbalancer, an dem alle Rechner hängen, der aber intern nur als Switch fungiert
Ziel:
Die Ports 60XX des Gateway-Servers sollen ein Port-Forwarding zu den Irgendein-Servern machen. So soll z.B. Port 6001 auf dem Gateway-Server zum SSH von 192.168.0.11 führen, Port 6002 auf 192.168.0.12 usw..
Leider geht's mit dieser Regel nicht:
Code:
iptables -A INPUT -p tcp --dport 6001 -j ACCEPT
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 6001 -j DNAT --to 192.168.0.11:22
Obwohl es nach sämtlichen Anleitungen und der Manpage nach funktionieren müsste. Der Loadbalancer mischt sich offenbar nicht ein, wie man einem Traceroute auf dem Gateway entnehmen kann:
Code:
# traceroute 192.168.0.11
traceroute to 192.168.0.11 (192.168.0.11), 30 hops max, 40 byte packets
1 192.168.0.11 (192.168.0.11) 0.107 ms 0.100 ms 0.094 ms
Die Prerouting-Regel wird offenbar auch korrekt erstellt:
Code:
# iptables --list PREROUTING -t nat -n
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
DNAT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:6001 to:192.168.0.11:22
Und der Rest der Firewall-Regeln weisst eigentlich auch nichts auf, was das Durchleiten des Ports verhindern könnte.
Code:
# iptables -L -n
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 8
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 flags:0x3F/0x02
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:6001
Chain FORWARD (policy DROP)
target prot opt source destination
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Was hab ich übersehen? Jemand eine Idee an welcher Stelle es hängen könnte?