Ich habe eine Reihe von WAN-IPs, die ich in eine Reihe von LAN-IPs übersetzen möchte, aber nur einige Ports öffnen. Keine der WAN-IPs, die ich übersetzen möchte, ist die primäre WAN-IP, die der Router für die Verbindung mit dem Internet verwendet.
Zum Beispiel möchte ich - WAN IP 216.58.216.238 in LAN IP 10.10.10.10 übersetzen und die Ports 80 und 443 öffnen
Zeigt zunächst ifconfig
die folgenden Schnittstellen: br0
, eth0
, eth1
, eth2
, lo
, vlan1
, vlan2
.
vlan2
ist meine externe IP-Adresse zugewiesen.
Wie würde ich die Übersetzung durchführen?
Folgendes habe ich bisher versucht:
ifconfig eth0:1 216.58.216.238 netmask 255.255.255.0 up
iptables -t nat -A PREROUTING -i eth0 -d 216.58.216.238 -p tcp --dport 80 -j DNAT --to-destination 10.10.10.10:80
iptables -t nat -I POSTROUTING -s 10.10.10.10 -j SNAT --to 216.58.216.238
aber das scheint nicht zu funktionieren. Ich kann von einem externen Netzwerk über Port 216.58.216.238:80 nicht auf meinen Dienst am 10.10.10.10:80 zugreifen.
Nach dem Neustart ifconfig
werden einige zusätzliche Schnittstellen angezeigt. Beispiel: eth0:1
. Es hat dieselbe HW-Adresse wie eth0
und vlan2
und ihm ist die richtige externe IP-Adresse zugewiesen inet addr
, aber ich kann das Gerät trotzdem nicht außerhalb meines Netzwerks sehen.
wenn ich es ausführe, iptables -t nat -vnL
scheint es etwas registriert zu haben. Ich habe zum Beispiel:
Chain PREROUTING (policy ACCEPT 5212 packets, 475K bytes)
pkts bytes target prot opt in out source destination
...
0 0 DNAT tcp -- eth0 * 0.0.0.0/0 216.58.216.238 tcp dpt:80 to 10.10.10.10:80
...
Irgendwelche Ideen, was ich ändern muss, um Zugriff zu gewähren?
bearbeiten.
Ich konnte meine Dienste mit den folgenden Befehlen zum Laufen bringen, aber sie lassen alle Ports durch. Es gibt so viele Schalter und Optionen für iptables ...
ifconfig eth0:1 216.58.216.238 netmask 255.255.255.0
iptables -t nat -I PREROUTING -d 216.58.216.238 -j DNAT --to 10.10.10.10
iptables -t nat -I POSTROUTING -s 10.10.10.10 -j SNAT --to 216.58.216.238