快捷搜索:   nginx

Linux下配置端口映射的详细过程

发现好多文章对Linux端口映射的说明都不够,我在RedHat8.0上用了端口映射,讲述的配置过程,供大家参考。

【实现功能】

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 --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

顶(0)
踩(0)

您可能还会对下面的文章感兴趣:

最新评论