一万年来谁著史,三千里外欲封侯。这篇文章主要讲述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搭建网关服务器】
推荐阅读
- 关于运维的思考
- zookeeper设置ACL后 kafka如何连接()
- 浅谈容器逃逸
- Prometheus监控步骤
- 王道Java网络编程实战详解三TCP完结
- Linux系统下 MYSQL数据库中的数据库文件在本机内迁移 (需暂停服务的方式)
- 客快物流大数据项目(六十八)(工作流调度)
- Linux 环境下 javac 编译错误( 编码UTF8的不可映射字符(编码UTF8/GBK的不可映射字符))
- coursera 视频总是缓冲或者无法观看的解决办法(Windows和Linux 系统环境)