admin管理员组文章数量:1642336
1.firewall软件
作用:
对iptables的封装软件,无链与表的概念,只有区域的概念,比iptables操作简单,但是底层还是调用iptables
firewalld服务基础
• 系统服务:firewalld
• 管理工具:firewall-cmd(命令)、firewall-config(图形化界面)
四个基本区域
根据所在的网络场所区分,预设保护规则集
– public:仅允许访问本机的ssh dhcp ping服务
– trusted:允许任何访问
– block:阻塞任何来访请求(明确拒绝,有回应客户端)
– drop:丢弃任何来访的数据包(没有回应,节省服务端资源)
基本命令
1.查看当前区域
firewall-cmd --get-default-zone
2.转换区域
firewall-cmd --set-default-zone='区域名'
3.查看区域规则
firewall-cmd --zone='区域名' --list-all
4.添加源
firewall-cmd --zone='区域名' --add-source='ip地址'
2.四个区域的实际应用
用两台虚拟机做测试(相同网段),server,desktop
server ip :172.25.0.11
desktop ip :172.25.0.10
public
public默认允许访问本机的ssh服务,ping服务,可以通过命令查看.
查看区域规则命令: firewall-cmd --zone=public --list-all
看services这一栏,允许dhcpv6-client,ssh服务
①ping
1)server端将区域转为public
firewall-cmd --set-default-zone=public
2)使用desktop ping server
ping 172.25.0.11 ,ping 通
②ssh
使用desktop ssh server,
ssh成功,主机名从desktop变为server
③通过http和ftp访问
desktop下访问server服务,
访问 http: firefox 172.25.0.11
访问 ftp: firefox ftp://172.25.0.11
结果都是会被阻拦,也就是说public区域下默认不允许http和ftp访问
2.trusted
1)server端将区域转为trusted
firewall-cmd --set-default-zone=trusted
2)将区域转为trusted后允许所有访问,包括ssh,ping,ftp,http等
3. block
1)server端将区域转为block
firewall-cmd --set-default-zone=block
2)访问测试
①ping
desktop下ping server : ping 172.25.0.11
ping通,根据block区域的规则,拒绝访问,但是会给予回应
②ssh
desktop下ssh server :
可以看到无法连接成功
[root@desktop0 /]# ssh root@172.25.0.11
ssh: connect to host 172.25.0.11 port 22: No route to host
③通过http和ftp访问
desktop下访问server服务,
访问 http: firefox 172.25.0.11
访问 ftp: firefox ftp://172.25.0.11
结果都是会被阻拦
4.drop
drop和trused形成两个极端,一个允许一切访问,一个拒绝一切访问.
drop禁止通过ping,ssh,http,ftp等访问.
3.修改防火墙的配置
1.向public添加允许http和ftp服务
上面说了public默认设置是不允许访问http和ftp服务的(根据本机的情况而定).管理员可以添加允许访问的服务
两条命令:
① firewall-cmd --permanent --zone=public --add-service='服务名' #-permanent为永久修改,不加就是临时修改,重启后失效 --zone后跟区域名
② firewall-cmd --reload #重新加载防火墙所有配置
[root@server0 ftp]# firewall-cmd --permanent --zone=public --add-service=http
success
[root@server0 ftp]# firewall-cmd --permanent --zone=public --add-service=ftp
success[root@server0 ftp]# firewall-cmd --reload
[root@server0 ftp]# firewall-cmd --zone=public --list-all #显示配置信息
修改后services下多出http和ftp
看看效果:在desktop下访问server
ping 172.25.0.11
ping ftp://172.25.0.11
2. 单独拒绝访问
可以通过防火墙设置拒绝单独的访问.比如我想拒绝desktop(172.25.0.10)访问server
①通过block区域设置拒绝访问服务
在server上输入命令 :firewall-cmd --zone=block --add-source=172.25.0.10
②设置默认访问区域,调整位trusted允许所有访问
filewall-cmd --set-defaults-zone=trusted
③测试
desktop下 输入 : firefox 172.168.10
被拒绝
④block拒绝和drop拒绝的区别
你也可以设置drop拒绝,在server上输入命令 :firewall-cmd --zone=drop --add-source=172.25.0.10
与block的区别就是drop不能得到服务的响应了,你可以尝试ping 172.25.0.10(服务器ip),无法ping通
3.单独允许访问
若将zone切换到drop区域,即禁止一切访问,在这种情况下若想允许单独访问,可以将访问者ip添加到trusted区域.
①通过trusted区域设置允许访问
在server上输入命令 :firewall-cmd --zone=trusted --add-source=172.25.0.10
②设置默认访问区域,调整为block 拒绝所有
filewall-cmd --set-defaults-zone=block
③测试
即使是在block区域下(拒绝访问区域),如果我们将允许访问的ip添加到了trusted区域,则依旧可以访问
desktop下 输入 : firefox 172.168.10
允许访问
4.区域ip冲突
区域ip冲突的意思是指,在两个区域中设置同一ip地址.即在drop中设置172.25.0.10,那么在其他区域就不允许添加这一条ip地址,
[root@server0 ftp]# firewall-cmd --zone=drop --add-source=172.25.0.10
success
[root@server0 ftp]# firewall-cmd --zone=trusted --add-source=172.25.0.10
Error: ZONE_CONFLICT
所以你想将ip加入到某个区域,就必须在其他区域将其删除
5.修改映射端口
端口: 协议或程序或服务的编号
利用root可以改变端口,而且一个程序可以具备多个端口
实现本机的端口映射
• 本地应用的端口重定向(端口1 --> 端口2)
实现:客户端访问: firefox 172.25.0.11:5423--->172.25.0.11:80
也就是说当5423端口不工作时,防火墙将访问重定向到80端口上
基本命令: firewall-cmd --zone=[区域名] --add-forward-port=port=[被转发端口]:proto=tcp:toport=[转发后端口]
[root@server0 /]# firewall-cmd --permanent --zone=public --add-forward-port=port=5423:proto=tcp:toport=80
注意两点:①添加--permanent 参数将其永久修改
②将这条命令添加到常用区域,可以是public或trusted,添加到drop或block区域意义不大
版权声明:本文标题:Linux防火墙firewall的使用 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/xitong/1729335678a1196949.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论