linux上埠對映的詳細步驟
在網上搜索好多,對linux配置埠對映都不夠詳細,我在RedHat8.0上用iptables配置了埠對映,講述詳細的配置過程,供大家參考。
【實現功能】
PC A是
eth0 172.18.10.212 內網
eth1 219.239.xx.xx 外網
PC B是 172.18.10.205 內網
A的8080埠對映到B的80埠
【步驟】
1、 首先應該做的是/etc/sysctl.conf配置檔案的 net.ipv4.ip_forward = 1 預設是0
這樣允許iptalbes FORWARD。
2、 在/etc/rc.d/init.d目錄下有iptables 檔案,使用格式如下
Usage: ./iptables {start|stop|restart|condrestart|status|panic|save}
相當與service iptables {....}
把iptables 服務停止,清除以前的規則,存檔
到/etc/rc.d/init.d目錄下,執行
./iptables stop
iptalbes -F
iptalbes -X
iptalbes -Z
./iptables save
3、 重新配置規則
iptables -t nat -A PREROUTING -d 219.239.xx.xx -p tcp --dport 8080 -j DNAT --to-destination 172.18.10.205:80
iptables -t nat -A POSTROUTING -d 172.18.10.205 -p tcp --dport 80 -j SNAT --to 172.18.10.212
iptables -A FORWARD -o eth0 -d 172.18.10.205 -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -i eth0 -s 172.18.10.205 -p tcp --sport 80 -j ACCEPT
DNAT SNAT 的請參考幫助,這裡不再陳述。
4、 新的規則存檔
./iptables save
規則存檔後在/etc/sysconfig/iptables這個檔案裡面,若你對這個檔案很熟悉
直接修改這裡的內容也等於命令列方式輸入規則。
5、 啟動iptables 服務
./iptables start
在/proc/net/ip_conntrack檔案裡有包的流向,如下面
tcp 6 53 TIME_WAIT src=221.122.59.2 dst=219.239.xx.xx sport=7958 dport=8080 packets=9 bytes=1753
src=172.18.10.205 dst=172.18.10.212 sport=80 dport=7958 packets=9 bytes=5777 [ASSURED] use=1