PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Portforwarding bei MultiWAN mit Gateway im selben Subnetz



maanee9
12.07.14, 16:26
Ich habe einen Dedizierten Root Server mit Virtualisierung und 3 öffentlichen IP-Adressen im selbsen Subnetz und dem selben Gateway. Eine IP-Adresse wird bereits für das Management des Hypervisors benötigt und ist bei dem Problem irrelevant.

Die Firewall VM besitzt 3 Netzwerkschnittstellen: WAN1 = eth0, WAN2 = eth1, LAN1 = eth2 Die verbleibenden 2 IP Adressen sind meiner Firewall zugeteilt (WAN1,WAN2) und sollen beide mit dem selben Default Gateway (MultiWAN) genutzt werden. Durch "ip route" und "ip rule" habe ich es mittlerweile geschafft das ich beide Schnittstellen anpingen kann und direkt auf der FirewallVM verwendet werden kann. Masquerading mit funktioniert für die internen Maschinen soweit auch.

Leider funktioniert in der aktuellen Konfiguration das Portforwarding immer nur bei einem der beiden Interfaces. Beim Starten der Firewall immer die Portforwardings des Interfaces welches als erstes UP ist. Beim einem "ifdown" auf das funktioniernde Interface funktioniert, anschließend das Forwarding das anderen Interfaces.

Leider hab ich nichts gefunden wie ich das Problem lösen kann. Hab nicht wirklich Erfahrung mit iproute2. Virtuelle Interfaces kann ich leider auch nicht Verwenden, da das Gateway die richtige Absender MAC für die IP vorraussetzt.

Hier mein aktuelles Firewallstartscript:


######VARIABLEN
###Interfaces und IPs
export IFWAN1=eth0
export WAN1IP=x.x.x.101
export WAN1GWIP=x.x.x.97

export IFWAN2=eth1
export WAN2IP=x.x.x.102
export WAN2GWIP=x.x.x.97

export IFLAN1=eth2
export LAN1IP=192.168.x.1


###LAN Server IPs
export WIN2008R201=192.168.x.3


#######Grundlegende Konfiguration
#Module für das Connection Tracking laden
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
modprobe ip_conntrack_irc

# default-Policies setzen, Tabellen leeren und loeschen / NAT regeln für Multiwan bleiben erhalten
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP

iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT

iptables -F
iptables -t nat -F
iptables -X
iptables -t nat -X


#Routing aktivieren
echo 1 > /proc/sys/net/ipv4/ip_forward

#MultiWAN
ip route add default via $WAN1GWIP dev $IFWAN1 tab 1
ip route add default via $WAN2GWIP dev $IFWAN2 tab 2
ip rule add from $WAN1IP/32 tab 1 priority 500
ip rule add from $WAN2IP/32 tab 2 priority 600
ip route flush cache

####### Allow Regeln LAN/WAN between Firewall
#Loopback Verkehr erlauben
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT

#Erlaube ICMP Echo Requests (eingehend / ausgehend)
iptables -A INPUT -p icmp --icmp-type 8 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type 0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type 8 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p icmp --icmp-type 0 -m state --state ESTABLISHED,RELATED -j ACCEPT

#Erlaube DNS Abfragen (ausgehend)
iptables -A OUTPUT -p udp --dport 53 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p udp --sport 53 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p tcp --dport 53 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --sport 53 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

##Erlaube jeden Verkehr
#iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
#iptables -A INPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT



#Erlaube INPUT und OUTPUT für das interne Netzwerk
iptables -A OUTPUT -o $IFLAN1 -j ACCEPT
iptables -A INPUT -i $IFLAN1 -j ACCEPT

######## Allow Regeln LAN-to-WAN
#Erlaube LAN > WAN (Masquerading in NAT)
iptables -t nat -A POSTROUTING -o $IFWAN1 -j MASQUERADE
iptables -t nat -A POSTROUTING -o $IFWAN2 -j MASQUERADE


#Erlaube den internen LAN Verkehr (Ansonsten geht kein Masquerading)
iptables -A FORWARD -i $IFLAN1 -j ACCEPT
iptables -A FORWARD -o $IFLAN1 -j ACCEPT


####### Port Forwarding WAN-to-LAN (!!!!!!!!!!! Aktuell funktioniert immer nur das Portfowarding von einem der beiden Interfaces)
###Forward $IFWAN1
iptables -t nat -A PREROUTING -p tcp -m tcp -i $IFWAN1 -d $WAN1IP --dport 80 -j DNAT --to-destination $WIN2008R201:80
iptables -A FORWARD -m state -p tcp -d $WIN2008R201 --dport 80 --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -p tcp -m tcp -s $WIN2008R201 --sport 80 -j SNAT --to-source $WAN1IP

###Forward $IFWAN2 ###
iptables -t nat -A PREROUTING -p tcp -m tcp -i $IFWAN2 -d $WAN2IP --dport 3389 -j DNAT --to-destination $WIN2008R201:3389
iptables -A FORWARD -m state -p tcp -d $WIN2008R201 --dport 3389 --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -p tcp -m tcp -s $WIN2008R201 --sport 3389 -j SNAT --to-source $WAN2IP

maanee9
12.07.14, 22:49
Problem gelöst:
http://forum.ubuntuusers.de/topic/portforwarding-bei-multiwan-mit-gateway-im-sel/