安装Nginx
yum -y install epel-release
yum -y install nginx
启动Nginx服务
systemctl start nginx
systemctl enable nginx
创建测试页面
mv /usr/share/nginx/html/index.html /usr/share/nginx/html/index.html_bak
vim /usr/share/nginx/html/index.html
This is server 111111
配置方法同上,为了便于验证,将测试页面的内容修改即可,配置完后在本地验证,验证结果如下:
在网关服务器上配置默认区域
具体操作如下:
网关服务器上的三个网卡分别对应一个区域
#设置firewalld区域
firewall-cmd --set-default-zone=external
#添加网卡到区域内
firewall-cmd --change-interface=eth1 --zone=dmz
firewall-cmd --change-interface=eth0 --zone=trusted
配置完后,查看当前的默认区域,如下:
网站服务器和网关服务器均通过SSH的12345端口来管理
配置内部网站服务器
修改sshd端口
# 修改服务器sshd端口号
vim /etc/ssh/sshd_conf
......
Port 12345 #去掉前面的“#”号,端口修改为12345
......
#修改完保存后,重启服务
setenforce 0
systemctl restart sshd
验证
已经无法连接了,加上端口号在验证一下
发现还是无法连接,所以我们需要设置防火墙策略,让端口12345可用,具体配置如下:
firewall-cmd --add-port=12345/tcp
配置完后再次验证
这次已经可以正常连接了。
配置网关服务器
关于sshd端口的配置同上面的内部网站服务器,此处省略,防火墙策略如下:
firewall-cmd --add-port=12345/tcp
firewall-cmd --add-port=12345/tcp --zone=dmz
firewall-cmd --add-port=12345/tcp --zone=trusted
在内部网站服务器和互联网主机上开启HTTP协议
firewall-cmd --add-service=http
网站服务器拒绝来自任何位置的ping
firewall-cmd --add-icmp-block=echo-request
验证(在网关服务器上验证)
网关服务器拒绝来自互联网上的ping
firewall-cmd --add-icmp-block=echo-request
验证
使用公司内部主机ping,可以ping通
使用互联网上的主机ping,ping不通
公司内部主机通过网关服务器共享上网
开启网关服务器的路由转发功能
echo "1" > /proc/sys/net/ipv4/ip_forward
为external添加富规则,允许来自内网的流量进行地址伪装访问外网
firewall-cmd --add-rich-rule='rule family=ipv4 source address=172.16.1.0/24 masquerade'
验证
互联网用户通过网关服务器访问企业内部网站服务器
为external区域添加端口转发,允许外网访问某一个特定地址的80端口的请求转发到企业内部服务器上
vim /etcsysconfig/network-scripts/ifcfg-eth2
......
IPADDR1=10.1.1.2
NETMASK=255.255.255.0
IPADDR2=10.1.1.3
NETMASK=255.255.255.0
......
firewall-cmd --add-rich-rule='rule family=ipv4 destination address=10.1.1.3/32 forward-port port=80 protocol=tcp to-addr=192.168.1.10' --zone=external
验证