2017-06-27 5 views
0

Ich versuche, Port 80 auf eine interne IP (192.168.33.52) mit IPtables umzuleiten. Aber wenn ein offener tcpdump mit Port 80 i siehe:Iptables dnat/snat Regel intern

04: 36: 59,848744 IP 1.2.3.4.59936> 192.168.33.52.http: Flags [S], seq 2560507980 gewinnen 8192, Optionen [mss 1460, nop, wscale 8, nop, nop, sackOK], length 0

Wie kann man unsere öffentliche IP 1.2.3.4 in unsere interne IP 192.168.33.200 umschreiben? Und 192.168.33.200 leitet den Datenverkehr zurück zu den Clients?

Network Interface:

eth0 - 1.2.3.4 (öffentliche IP) eth0: 0 - 192.168.33.200 (private IP)

Webserver: 192.168.33.52

Meine iptables-Regeln:

Ziel prot opt ​​Quelle Ziel

DNAT tcp - 0.0.0.0/0 1.2.3.4 tcp dpt: 80 bis: 192.168.33.52: 80

INPUT Chain (Politik ACCEPT) Ziel prot opt ​​Quelle Ziel

Ketten OUTPUT (policy ACCEPT) Ziel prot opt ​​Quelle Ziel

Ketten POSTROUTING- (Politik ACCEPT)

Ziel prot opt ​​Quelle Ziel

SNAT tcp - 0.0.0.0/0 192.168.33.52 an: 1.2.3.4

Antwort

0

Speichern Sie das Skript unten als script.sh, dann machen Sie es ausführbar (chmod + x script.sh), führen Sie es dann mit ./script.sh

Die iptables-Regeln, die Sie benötigen, sind wie folgt:

#!/bin/bash 

# enable ip forwarding 
echo 1 > /proc/sys/net/ipv4/ip_forward 

# define vars 
LOCALNET="192.168.33.0/24" 
WAN="eth0" 
WANIP="PUBLIC_IP" 
WEBSERVER="192.168.33.52" 

# enable traffic from the local network to the internet 
iptables -t nat -A POSTROUTING -s $LOCALNET -o $WAN -j MASQUERADE 

# HTTP to the local web server from the outside world 
iptables -t nat -A PREROUTING -d $WANIP -p tcp --dport 80 -j DNAT --to-destination $WEBSERVER:80 
iptables -t nat -A POSTROUTING -d $WEBSERVER -p tcp --dport 80 -j MASQUERADE 
Verwandte Themen