centos7.3默认使用的防火墙应该是firewall,而不是iptables。而我们xxmj服务器使用的是iptables防火墙。所以,在配置防火墙之前,我们需要先关闭firewall,安装iptables。
- 
查看firewall的安装和启动状态 
[root@localhost ~]# yum list installed firewalld iptables
[root@localhost ~]# systemctl list-unit-files firewalld.service iptables.service- 
下面关闭firewall并禁止开机启动和安装iptables防火墙的操作视情况而定 
- 
关闭firewall并禁止开机启动 
[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# systemctl disable firewalld.service- 
安装iptables防火墙并设置开启启动 
[root@localhost ~]# yum install iptables-services
[root@localhost ~]# systemctl enable iptables.service
    开启内核转发
   
    
     vi /etc/sysctl.conf
    
   
    
     添加或者修改以下内容
    
   
    
     net.ipv4.ip_forward = 1
    
   
    
     保存后,使修改内容生效
    
   
    
     sysctl -p
    
   
    一 :从一台机到另一台机端口转发
   
    
    
     启用网卡转发功能
     
     #
     
      
       echo 1 > /proc/sys/net/ipv4/ip_forward
      
     
     举例:从192.168.0.132:21521(新端口)访问192.168.0.211:1521端口
    
   
    
    
     a.同一端口转发
    
    (192.168.0.132上开通1521端口访问 iptables -A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 1521 -j ACCEPT)
   
    iptables -t nat -I PREROUTING -p tcp –dport 1521 -j DNAT –to 192.168.0.211
    
    iptables -t nat -I POSTROUTING -p tcp –dport 1521 -j MASQUERADE
    
     b.不同端口转发
    
    (192.168.0.132上开通21521端口访问 iptables -A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 21521 -j ACCEPT)
   
    iptables -t nat -A PREROUTING -p tcp -m tcp –dport
    
     
      21521
     
    
    -j DNAT –to-destination
    
     
      192.168.0.211:1521
     
    
    
    iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -d 192.168.0.211 -p tcp -m tcp –dport 1521 -j SNAT –to-source 192.168.0.132
    
     以上两条等价配置(更简单[指定网卡]):
    
    
    iptables -t nat -A PREROUTING -p tcp -i eth0 –dport 31521 -j DNAT –to 192.168.0.211:1521
    
    iptables -t nat -A POSTROUTING -j MASQUERADE
    保存iptables
    
    #service iptables save
    
    #service iptables restart
    
   
    
    
    二 用iptables做本机端口转发
   
    
     代码如下:
     
     iptables -t nat -A PREROUTING -p tcp –dport 80 -j REDIRECT –to-ports 8080
估计适当增加其它的参数也可以做不同IP的端口转发。
     如果需要本机也可以访问,则需要配置OUTPUT链(********
     
      
       特别注意:本机访问外网的端口会转发到本地,导致访不到外网,如访问yown.com,实际上是访问到本地,建议不做80端口的转发或者指定目的 -d localhost
      
     
     ):
    
   
    
    iptables -t nat -A OUTPUT -d localhost -p tcp –dport 80 -j REDIRECT –to-ports 8080
    原因:
    
    外网访问需要经过PREROUTING链,但是localhost不经过该链,因此需要用OUTPUT。
   
#######################################################################################
    概述:公司有一些核心
    
     MySQL
    
    服务器位于核心机房的内网段,作为运维人员,经常需要去连接这些服务器,因无法直接通过外网访问,给管理造成了不便。
   
    
    思路:虽然解决此问题的方法及思路有很多,但当下想使用
    
     IPTABLES的端口重定向功能
    
    解决此问题,比较简单易用,而且扩展性也比较好,依次类推,可以运用到其他的端口转发方面的应用。
    
    网络环境:
    
    
     公网服务器      :eth0:公网IP    eth1:内网IP – 192.168.1.1
     
     
      mysql
     
     服务器:eth1:内网IP – 192.168.1.2
    
    
    实现方法:通过访问公网IP的63306端口来实现到内网MYSQL服务器的3306端口的访问
    
    在公网服务器上:
    
    配置脚本:
    
    
     iptables -t nat -A
     
      PREROUTING
     
     -p tcp –dport 63306 -j DNAT
     
      –to-destination 192.168.1.2:3306
     
     
     iptables -t nat -A POSTROUTING
     
      -d 192.168.1.2
     
     -p tcp –dport 3306 -j SNAT
     
      –to 192.168.1.1
     
    
   
允许服务器的IP转发功能:
    echo 1 > /proc/sys/net/ipv4/ip_forward
    
    使用方法:
    
    mysql -h 公网IP -p 63306 -uroot -p
   
###############################################################################################
由于业务需要,服务器越来越多,内网服务器无外网环境管理甚是不便,所以折腾了一下外网到内网的端口转发以达到轻松管理的目的,贴一下心得。
    S1:
    
    eth0 10.0.0.1
    
    eth1 x.x.x.x
    S2:
    
    eth0 10.0.0.2
    
     S1 8082端口转发到内网机器22端口
    
iptables规则配置如下:
iptables -t nat -A PREROUTING -d x.x.x.x -p tcp –dport 8082 -j DNAT –to-destination 10.0.0.2:22
    iptables -t nat -A POSTROUTING -d 10.0.0.2 -p tcp –dport 22 -j SNAT –to-source x.x.x.x
    
   
    说明:
    
    iptables -t nat -A PREROUTING -d “对外公网ip” -p tcp –dport “对外端口” -j DNAT –to “内部实际提供服务的ip”:”实际提供服务的端口”
iptables -t nat -A POSTROUTING -d “内部实际提供服务的ip”-p tcp –dport “实际提供服务的端口” -j SNAT –to-source “运行iptables机器的内网ip”
 
