??? 在網(wǎng)上搜索好多,對(duì)linux配置端口映射都不夠詳細(xì),我在RedHat8.0上用iptables配置了端口映射,講述詳細(xì)的配置過(guò)程,供大家參考。
【實(shí)現(xiàn)功能】
? PC A是
? eth0????? 172.18.10.212? 內(nèi)網(wǎng)
? eth1????? 219.239.xx.xx? 外網(wǎng)
? PC B是??? 172.18.10.205? 內(nèi)網(wǎng)
? A的8080端口映射到B的80端口
【步驟】
1、 首先應(yīng)該做的是/etc/sysctl.conf配置文件的? net.ipv4.ip_forward = 1 默認(rèn)是0
??? 這樣允許iptalbes FORWARD。
2、 在/etc/rc.d/init.d目錄下有iptables 文件,使用格式如下
??? Usage: ./iptables {start|stop|restart|condrestart|status|panic|save}
??? 相當(dāng)與service iptables {....}
??? 把iptables 服務(wù)停止,清除以前的規(guī)則,存盤
??? 到/etc/rc.d/init.d目錄下,運(yùn)行
??
??? ./iptables stop
??? iptalbes -F
??? iptalbes -X
??? iptalbes -Z
??? ./iptables save
3、 重新配置規(guī)則
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 的請(qǐng)參考幫助,這里不再陳述。
4、 新的規(guī)則存盤
??? ./iptables save
??? 規(guī)則存盤后在/etc/sysconfig/iptables這個(gè)文件里面,若你對(duì)這個(gè)文件很熟悉
??? 直接修改這里的內(nèi)容也等于命令行方式輸入規(guī)則。
5、 啟動(dòng)iptables 服務(wù)
??? ./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