原因是这样的!最近从同事手里接受了一台zabbix,公网访问地址为1.1.1.1 。实际上zabbixserver是在内网2.2.2.2的服务器上,查看iptables做了端口映射,

以下是本人复制粘贴来的iptables端口映射

    在网上搜索好多,对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