CentOS7使用iptables搭建网关服务器

一万年来谁著史,三千里外欲封侯。这篇文章主要讲述CentOS7使用iptables搭建网关服务器相关的知识,希望能为你提供帮助。
一、目标
二、拓扑图
三、安装iptables
四、添加规则
五、测试




一、目标
奇葩项目没有路由器,实现目标:
1、内网机器可以通过网关服务器连接外网(SNAT);
2、外网可以通过网关服务器远程连接内网机器(DNAT)。


二、拓扑结构

网关服务器(两个网口):
ens33:192.168.31.230  (外网)
ens37:172.16.0.1  (内网)
内网机器VM01:
ens33:172.16.0.100  网关:172.16.0.1
其中,网关服务器的外网地址可以连接互联网,内网地址和内网机器VM01通过交换机连接,并且,VM01的网关配置为网关服务器的内网IP(172.16.0.1)。


三、安装iptables
1、首先关闭centos7自带的firewalld防火墙
# systemctl disable firewalld
# systemctl stop firewalld
2、配置路由转发
# vi /etc/sysctl.conf  
net.ipv4.ip_forward = 1
# sysctl -p
3、安装iptables
# yum install iptables-services
# systemctl enable iptables
# systemctl restart iptables


四、添加规则
清空防火墙规则
# iptables -F
添加SNAT规则
# iptables -t nat -A POSTROUTING -s 172.16.0.0/24 -j MASQUERADE
添加DNAT规则
# iptables -t nat -A PREROUTING -i ens33 -d 192.168.31.230 -p tcp --dport 2222 -j DNAT --to-destination 172.16.0.100:22
保存配置
# service iptables save
查看规则
# iptables -t nat -nvL
Chain PREROUTING (policy ACCEPT 7 packets, 1595 bytes)
pkts bytes target     prot opt in     out     source               destination          
    0     0 DNAT       tcp   --   ens33   *       0.0.0.0/0             192.168.31.230       tcp dpt:2222 to:172.16.0.100:22
    0     0 DNAT       tcp   --   ens33   *       0.0.0.0/0             192.168.31.230       tcp dpt:2223 to:172.16.0.101:22
Chain INPUT (policy ACCEPT 2 packets, 84 bytes)
pkts bytes target     prot opt in     out     source               destination          
Chain OUTPUT (policy ACCEPT 2 packets, 133 bytes)
pkts bytes target     prot opt in     out     source               destination          
Chain POSTROUTING (policy ACCEPT 2 packets, 133 bytes)
pkts bytes target     prot opt in     out     source               destination          
    1     71 MASQUERADE   all   --   *       *       172.16.0.0/24         0.0.0.0/0
删除规则
# iptables -t nat -nvL --line-numbers
# iptables -t nat -D PREROUTING 1


五、测试
1、在内网服务器VM01测试:
# ping www.baidu.com
2、在外网中(192.168.31.0/24)测试远程连接VM01
# ssh 192.168.31.230 2222


iptables命令参数:
【CentOS7使用iptables搭建网关服务器】

    推荐阅读