目录
1、什么是防火墙?
2、iptables
3、firewalld
如何实现端口转发?
1、什么是防火墙?
防火墙:防火墙是位于内部网和外部网之间的屏障,它按照系统管理员预先定义好的规则来控制数据包的进出。防火墙又可以分为硬件防火墙与软件防火墙。硬件防火墙是由厂商设计好的主机硬件,这台硬件防火墙的操作系统主要以提供数据包数据的过滤机制为主,并将其他不必要的功能拿掉。软件防火墙就是保护系统网络安全的一套软件(或称为机制)。
2、iptables
防火墙会从以上至下的顺序来读取配置的策略规则,在找到匹配项后就立即结束匹配工作并去执行匹配项中定义的行为(即放行或阻止,ACCEPT,REJECT,DROP)。
iptables服务把用于处理或过滤流量的策略条目称之为规则,多条规则可以组成一个规则链,而规则链则依据数据包处理位置的不同进行分类,具体如下:
在进行路由选择前处理数据包,用于目标地址转换(PREROUTING);
处理流入的数据包(INPUT);
处理流出的数据包(OUTPUT);
处理转发的数据包(FORWARD);
在进行路由选择后处理数据包,用于源地址转换(POSTROUTING)。
#安装iptables
yum install iptables-services.x86_64 -y
#关闭firewalld
systemctl stop firewalld
#启动iptables
systemctl start iptables
- 实验:iptables: 开启防火墙:可以正常使用ssh服务,dns服务, httpd服务,chrony服务, nfs服务。
ssh可以免密登录到第二台设备:
可以进行dns反向解析:
可以进行httpd服务:
可以进行chrony服务:
可以进行nfs服务:客户端可以同步服务器的文件。
3、firewalld
相比于传统的防火墙管理工具,firewalld支持动态更新技术并加入了区域的概念。区域就是firewalld预先准备了几套防火墙策略集合(策略模板),用户可以选择不同的集合,从而实现防火墙策略之间的快速切换。
- 实验:firewalld:开启防火墙:可以正常使用ssh服务,dns服务, httpd服务,chrony服务, nfs服务。
#关闭iptables
[root@duyajun ~]# systemctl stop iptables.service
#开启firewalld
[root@duyajun ~]# systemctl start firewalld.service
正常使用ssh服务:
在主服务器开启防火墙后发现从dns无法进行解析,解决方法是要在主服务器进行添加防火墙允许通过。
#添加允许通过dns
[root@duyajun ~]# firewall-cmd --permanent --add-service=dns
success
#添加完成后要重载firewalld才可以起作用
[root@duyajun ~]# firewall-cmd --reload
success
此时从dns就可以进行解析:在应用从dns时应该修改nameserver为主DNS的解析器。
chrony服务器可以正常使用:
在使用http服务时会发现不能进行访问:
解决方法:在防火墙中添加允许通过,并重载防火墙即可使用。
[root@duyajun ~]# firewall-cmd --permanent --add-service=http
success
[root@duyajun ~]# firewall-cmd --reload
success
在使用nfs服务时发现客户端无法同步服务器,则需要在服务器端进行防火墙中添加允许nfs通过。
[root@duyajun ~]# firewall-cmd --permanent --add-service=nfs
success
[root@duyajun ~]# firewall-cmd --reload
success
添加完成后客户端就可以同步服务器了:
查看一下防火墙所有的规则:
[root@duyajun ~]# firewall-cmd --list-all
如何实现端口转发?
要求:访问第一台机器web服务的9090端口,转发到第二台机器的80端口(永久生效)。
注:在实现转发到不同的ip时,需要进行地址伪装。
#进行地址伪装
[root@duyajun ~]# firewall-cmd --add-masquerade
success
#转发
[root@duyajun ~]# firewall-cmd --add-forward-port=port=9090:proto=tcp:toport=80:toaddr=192.168.41.139 --permanent
success
此时,转发完成。