模拟搭建私网访问外网、外网访问服务器服务的实践操作
目录
实验环境
实践要求
一、准备工作
1、准备四台虚拟机,分别标号
2、 防火墙额外添加两块网卡,自定义网络连接模式
3、 关闭虚拟机的图形管理工具
4、关闭防火墙
5、分别配置四台虚拟机的IP地址,此处举一个例子(使用的临时分配地址)
6、开启防火墙路由转发功能并验证
7、配置内网机和服务器的网关地址
8、 给服务器安装nginx服务
9、测试各个主机之间的连接情况
二、内部网络中的pc1采用SNAT访问外部互联网,但是无法ping到内部网关。
三、内部网络服务器s1通过DNAT发布服务到互联网。
四、互联网主机pc2能够访问DMZ区域的服务器,但是不能够进行ping和ssh连接。
实验环境
-
内部PC1位于内网区域,地址段为: 192.168.1.0/24,pc1地址为:192.168.1.1/24,网关地址为:192.168.1.254/24
-
服务器S1位于服务器区域,地址段为: 192.168.2.0/24,pc1地址为:192.168.2.1/24,网关地址为:192.168.2.254/24
-
PC2位于互联网区域,模拟外部互联网,地址段为:10.0.0.0/8,pc2地址为:10.0.0.1/8
-
Linux防火墙的三块网卡为别连接不同的网络区域,地址分别为 :ens33 192.168.1.254/24;ens34 10.0.0.100/8;ens35 192.168.2.254/24
实践要求
-
内部网络中的pc1采用SNAT访问外部互联网,但是无法ping到内部网关。
-
内部网络服务器s1通过DNAT发布服务到互联网。
-
互联网主机pc2能够访问DMZ区域的服务器,但是不能够进行ping和ssh连接。
一、准备工作
1、准备四台虚拟机,分别标号
2、 防火墙额外添加两块网卡,自定义网络连接模式
3、 关闭虚拟机的图形管理工具
systemctl stop NetworkManager
4、关闭防火墙
systemctl stop firewalld.service
5、分别配置四台虚拟机的IP地址,此处举一个例子(使用的临时分配地址)
ifconfig ens160 192.168.1.1/24
6、开启防火墙路由转发功能并验证
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -p
7、配置内网机和服务器的网关地址
route add -net 0/0 gw 192.168.1.254 dev ens160
route add -net 0/0 gw 192.168.2.254 dev ens160
8、 给服务器安装nginx服务
配置本地仓库源后安装nginx
yum -y install nginx
echo "hello!" > /usr/share/nginx/html/index.html
9、测试各个主机之间的连接情况
- 测试内网机和防火墙的通联性
[root@localhost network-scripts]# ping 192.168.1.254
PING 192.168.1.254 (192.168.1.254) 56(84) bytes of data.
64 bytes from 192.168.2.254: icmp_seq=1 ttl=64 time=0.453 ms
- 测试服务器和防火墙的通联性
[root@localhost network-scripts]# ping 192.168.2.254
PING 192.168.2.254 (192.168.2.254) 56(84) bytes of data.
64 bytes from 192.168.2.254: icmp_seq=1 ttl=64 time=0.273 ms
64 bytes from 192.168.2.254: icmp_seq=2 ttl=64 time=0.266 ms
^X^C
- 测试内网机和服务器的通联性
[root@nei ~]# ping 192.168.2.1
PING 192.168.2.1 (192.168.2.1) 56(84) bytes of data.
64 bytes from 192.168.2.1: icmp_seq=1 ttl=64 time=18.2 ms
64 bytes from 192.168.2.1: icmp_seq=2 ttl=64 time=5.04 ms
^C
- 外网机没有网关地址,所以和其他三台主机之间必然不通
二、内部网络中的pc1采用SNAT访问外部互联网,但是无法ping到内部网关。
- 在防火墙上书写规则
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o ens256 -j MASQUERADE
iptables -A INPUT -s 192.168.1.1 -d 192.168.1.254 -p icmp --icmp-type 8 -j DROP
- 验证
##内网机ping外网机
[root@nei ~]# ping 10.0.0.1
PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data.
64 bytes from 10.0.0.1: icmp_seq=1 ttl=63 time=36.6 ms
64 bytes from 10.0.0.1: icmp_seq=2 ttl=63 time=4.72 ms
64 bytes from 10.0.0.1: icmp_seq=3 ttl=63 time=8.38 ms
^C
--- 10.0.0.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2010ms
rtt min/avg/max/mdev = 4.715/16.549/36.550/14.221 ms##内网机ping内部网关
[root@nei ~]# ping 192.168.1.254
PING 192.168.1.254 (192.168.1.254) 56(84) bytes of data.
^C
--- 192.168.1.254 ping statistics ---
6 packets transmitted, 0 received, 100% packet loss, time 5117ms
三、内部网络服务器s1通过DNAT发布服务到互联网。
- 在防火墙上书写规则
iptables -t nat -A POSTROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.2.1
- 验证
##外网机访问服务器
[root@wai ~]# curl 10.0.0.100
hello!
四、互联网主机pc2能够访问DMZ区域的服务器,但是不能够进行ping和ssh连接。
- 在防火墙上书写规则
iptables -A FORWARD -p tcp -s 10.0.0.1 -d 192.168.2.1 --dport 22 -j DROP
iptables -A FORWARD -i ens256 -o ens224 -d 192.168.2.0/24 -p icmp --icmp-type 8 -j DROP
- 验证
##测试ssh远程连接服务器主机
[root@wai ~]# ssh root@10.0.0.100
ssh: connect to host 10.0.0.100 port 22: Connection timed out##测试ping服务器主机
[root@wai ~]# ping 10.0.0.100
PING 10.0.0.100 (10.0.0.100) 56(84) bytes of data.
^C
--- 10.0.0.100 ping statistics ---
21 packets transmitted, 0 received, 100% packet loss, time 20470ms