基于linux下的防火墙firewalld管理下的配置

1.防火墙的基本命令查询

firewall-cmd --state                                       查看火墙状态
firewall-cmd --get-active-zones                   查看系统正在活跃的域
firewall-cmd --get-default-zone                   查看火墙默认的域
firewall-cmd --get-zones                             查看所有的域
firewall-cmd --zone=public --list-all            查看public域的所有服务

firewall-cmd --get-services                        列出所有可以用名称表示的火墙允许的服务
firewall-cmd --list-all-zones                        查看所有的域的状态
firewall-cmd --set-default-zone=dmz        设置默认的域为dmz

这里写图片描述
这里写图片描述
这里写图片描述

特定主机访问此台主机的访问网络的设置
firewall-cmd --add-source=172.25.254.9 --zone=trusted设置172.25.254.9访问的网络为trusted
firewall-cmd --remove-source=172.25.254.9 --zone=trusted把172.25.254.9从trusted中摘除

这里写图片描述
2.改变火墙服务中网卡的域

firewall-cmd --list-interface                                                      查看网卡
firewall-cmd --get-zone-of-interface=eth1                             查看eth1的域
firewall-cmd --get-zone-of-interface=eth0                             查看eth0的域
firewalld-cmd --change-interface=eth0 --zone=trusted        修改eth0为trusted域
firewall-cmd --get-zone-of-interface=eth0                              查看eth0的域
firewall-cmd --remove-interface=eth0 --zone=trusted          把eth0从trusted中摘除
firewall-cmd --add-interface=eth0 --zone=publi                      添加eth0为public

这里写图片描述
这里写图片描述
3.添加火墙允许访问的用户

firewall-cmd --add-source=172.25.254.9                     把用户加入到public的域中
firewall-cmd --list-all
firewall-cmd --reload                                                     重新加载,172.25.88.250消失
firewall-cmd --permanent --add-source=172.25.88.250永久添加
firewall-cmd --reload  重新加载 
firewall-cmd --list-all                                                 

这里写图片描述
这里写图片描述
这里写图片描述
4.删除和添加火墙允许的服务

vim /etc/firewalld/zones/public.xml
firewall-cmd --add-port=8080/tcp --zone=public8080端口添加
firewall-cmd --list-all
firewall-cmd --remove-service=ssh
firewall-cmd --reload
firewall-cmd --list-all没有ssh服务
firewall-cmd --complete-reload  断开正在使用的ssh服务

这里写图片描述
这里写图片描述
4指定特定用户通过火墙访问主机

服务器:
systemctl start firewalld开启防火墙
yum install httpd
systemctl start httpd
firewall-cmd --liat-all 默认为public
firewall-cmd --permanent --add-service=http 允许http协议生效
firewall-cmd --reload刷新
firewall-cmd --list-all 默认服务出现http
两个虚拟机都可以访问712.25.88.56

这里写图片描述
这里写图片描述

firewall-cmd --permanent --remove-serice=http关闭http服务
firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -p tcp --dport 80 -s 172.25.88.56 -j ACCEPT指定特定用户访问端口
--dport 80 表示目的地端口
firewall-cmd --direct --get-all-rules 查看内容
在172.25.88.250 虚拟机输入 172.25.88.56 进入
在172.25.88.55 输入172.25.88.56  不能进入

这里写图片描述
这里写图片描述

5、地址伪装(外网到内网)

服务器:(172.25.88.56)
firewall-cmd --permanent --add-masquerade
firewall-cmd --list-all
firewall-cmd --permanent --add-forward--port=port=22:proto=tcp:toport=22:toaddr=172.25.88.250  利用ssh服务访问109时伪装为9
firewall-cmd --reload
客户机
ssh root@172.25.88.56 
ifconfig 显示主机172.25.88.250的ip

这里写图片描述
这里写图片描述
这里写图片描述

6、地址转发(内网到外网)

服务器:
添加两个网卡
vim /etc/sysconfig/network-scripts/ifcfg-eth0
IPADDR=172.25.88.56
vim /etc/sysconfig/network-scripts/ifcfg-eth1
IPADDR=172.25.0.56
systemctl restart network
firewall-cmd --permanent --add-masquerade
firewall-cmd --list-all
firewall-cmd --reload
firewall-cmd --get-all-rule 查看所有规则
sysctl -a | grep ip_forward
vim /etc/sysctl.conf
net.ipv4.ip_forward=1
sysctl -p

这里写图片描述
这里写图片描述

这里写图片描述
这里写图片描述
这里写图片描述

一个虚拟机
vim /etc/sysconfig/network-scripts/ifcfg-eth0
IPADDR=172.25.0.55
GATEWAY=172.25.0.56
systemctl restart network
route -n
ping 172.25.88.250  可以ping通不同网段的

这里写图片描述
这里写图片描述

猜你喜欢

转载自blog.csdn.net/ningyuxuan123/article/details/80613310