firewall

这篇文章和下篇文章主要讲防火墙,企业7之前用的是iptables,企业7之后用的是iptables和firewall,由于firewall和Windows的防火墙相似,且较为简单,所以这篇主要讲firewall。
环境配置:
一台主机,两台虚拟机,一台虚拟机配置两个网卡,一块网卡与主机的IP处于同一网段,另一块网卡与另一台虚拟机的IP处于同一网段,且与主机IP处于不同的网段,以获得更好的实验效果。

使用命令行接口配置防火墙:

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=trusted #修改默认域为信任域
在这里插入图片描述
firewall-cmd --permanent --zone=trusted --add-source=172.25.0.0/24 #将172.25.0.0永久添加到信任域
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
firewall-cmd --permanent --zone=trusted --remove-source=172.25.0.0/24 #将172.25.0.0从信任域永久移除
在这里插入图片描述
在这里插入图片描述
firewall-cmd --permanent --zone=trusted --add-interface=eth0 #将网卡eth0永久添加到信任域
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
firewall-cmd --permanent --zone=trusted --change-interface=eth0 #将网卡eth0永久移动到信任域
在这里插入图片描述
在这里插入图片描述
firewall-cmd --permanent --zone=trusted --remove-interface=eth0 #将网卡eth0从信任域永久移除

使用命令行配置防火墙上的服务:

firewall-cmd --get-services #查看防火墙所支持的服务
cd /usr/lib/firewalld/services #防火墙上的服务都在这个目录里
在这里插入图片描述
cp -p nfs.xml iscsi.xml #创建iscsi服务的配置文件
vim iscsi.xml

<?xmL version="1.0" encoding="utf-8" ?>
<service>
<short> ISCSI</short>
<description>iscsi service</ description>
<port protocol="tcp"
port="3260"/>
</service>

在这里插入图片描述
在这里插入图片描述
firewall-cmd --reload
firewall-cmd --get-services #查看是否添加成功
在这里插入图片描述
firewall-cmd --permanent --add-service=iscsi
firewall-cmd --reload
vim /etc/firewalld/zones/public.xml
在这里插入图片描述
firewall-cmd --list-services
在这里插入图片描述
vim /etc/firewalld/zones/public.xml
在这里插入图片描述
也可以编辑配置文件,自己手动添加服务:
在这里插入图片描述
在这里插入图片描述
在防火墙上永久添加端口:
firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd --list-ports
在这里插入图片描述
在这里插入图片描述
firewall-cmd --remove-port=8080/tcp --permanent #删除端口
firewall-cmd --reload
firewall-cmd --list-ports
在这里插入图片描述
在这里插入图片描述
firewall-cmd --reload #只刷新防火墙的状态,不管服务的状态
firewall-cmd --complete-reload #刷新防火墙的状态,重新启动服务,且尝试重新连接服务
在这里插入图片描述
虽然删除了防火墙上的ssh服务,但reload之后还能正常连接:
在这里插入图片描述
但complete reload之后,联机就卡住了:
在这里插入图片描述

用命令行在防火墙上的精确设定:

filter表:关于内核和服务的输入、输出和转发的信息都在这个表里;
nat表:不需要内核的其他操作储存在这个表里;
mangle表:这个表是前两个表的延伸,一般不用;
在filter表里添加信息:
firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 1 -s 172.25.254.34 -p tcp --dport 22 -j REJECT #防火墙拒绝34号主机访问本机的22端口
firewall-cmd --reload
在这里插入图片描述
ssh root@172.25.254.134
在这里插入图片描述
删除某一条信息:
firewall-cmd --direct --get-all-rules #查看表里所有信息
firewall-cmd --direct --remove-rule ipv4 filter INPUT 1 -s 172.25.254.34 -p tcp --dport 22 -j REJECT #删除某一条信息
在这里插入图片描述
打开路由转换功能:
打开地址伪装功能:
firewall-cmd --permanent --add-masquerade
firewall-cmd --reload
在这里插入图片描述
打开路由转换功能:
vim /etc/sysctl.conf
net.ipv4.ip_forward=1
sysctl -a | grep ip_forward
在这里插入图片描述
在另一台虚拟机设置同一网段的网关:
vim /etc/sysconfig/network-scripts/eth0
添加:GATEWAY=172.12.12.12
systemctl restart network
route -n
在这里插入图片描述
路由转换功能完美打开:
ping 172.25.254.34
在这里插入图片描述
当其他主机访问本机的22端口时,将它导向34号主机的22端口:
firewall-cmd --add-forward-port=port=22:proto=tcp:toport=22:toaddr=172.25.254.34
在这里插入图片描述
导向结果:
ssh root@172.25.254.134
在这里插入图片描述
删除导向:
firewall-cmd --remove-forward-port=port=22:proto=tcp:toport=22:toaddr=172.25.254.34
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值