1.火墙的本质
火墙的本质时kernel(内核)中的iptables(不能直接管理) ----作用为过滤数据包
firewalld是往iptables中写编内容的软件 ----相比较下执行内容相对较少,操作简单(偏向windows更多)iptables是另一个往iptables中写内容软件 ----相比较下执行内容较多,操作较难难
***两个管理方式只能同时开启一个***
此为关系图
2.firewalld的图形管理
指令 firewall-config & ----进入图形管理界面
###runtime:临时修改,立即生效,重启服务后失效 permanent:永久更改,需要重启服务###
测试:watch -n 1 firewall-cmd --list-all --监控火墙配置(在图形管理中临时更改的内容会直接显示在上面,永久更改的重启firewalld后会在其显示)
3.火墙中域和端口的更改
firewall-cmd --get-default-zone --显示默认区域
firewall-cmd --zone=public --list-all --显示public区域信息
firewall-cmd --set-default-zone=域名 --设定某域为默认区域
firewall-cmd --get-services ----显示允许的服务
firewall-cmd --get-active-zone ----显示当前运行的区域
firewall-cmd --add-service=http --zone=public ----往公共域中添加http服务
firewall-cmd --remove-service=http --zone=publi ----删除公共域中的http服务
firewall-cmd --permanent --add-port=8080/tcp --zone=public
--往公共域添加8080端口
firewall-cmd --permanent --remove-port=8080/tcp --zone=public
--删除公共域中的8080端口
###### --permanent 永久更改 ######
######配置文件永久更改 /usr/lib/firewalld/zones #######
######服务设置永久更改 /usr/lib/firewalld/services ######
######当添加或卸载时不写域则为默认域 ######
4.设定IP登陆时所在默认域
###为了更清晰的证明该实验,需使用有两块网卡的虚拟机
----如图所示 ###
firewall-cmd --add-source=172.25.254.40 --zone=trusted
----让此IP默认登陆trusted
firewall-cmd --add-interface=eth1 --zone=trusted
----将eth1网盘添加至trusted域(先将其从其他域卸掉)
firewall-cmd --get-active-zones ----查看正在运行的域
###前提:将默认域设置为dmz,这样默认不能用任何方式连接(其他域特征见下图)
###
测试:用所设置的IP去访问服务连接eth1,发现可以访问,而eth0不可,实验成功
5.让ip能访问而不能登陆(http可用而ssh不可用)
『1』firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -s 172.25.254.40 -p tcp --dport 22 -j REJECT
『vim /mnt/filter更改也可』
--add-rule:添加规则##INPUT :INPUT表##-s:起始地址##-p:协议##--dport:端口##-j:行为
测试结果:
『2』firewall-cmd --direct --add-rules ipv4 filter INPUT 1 ! -s 172.25.254.40 -p tcp --dport 22 -j REJECT
(除了172.25.254.40,都拒绝)
####行为 -j REJECT拒绝/ACCEPT允许/DROP丢弃 (需大写)####
####规则读取顺序由上到下####
6.地址转移
firewall-cmd --add-forward-port=port=22:proto=tcp:toport=22:toaddr=172.25.254.240
----访问本机时让其访问240
firewall-cmd --zone=public --add-masquerade
----打开伪装
----当连接转移后的虚拟机后就会如图
####将伪装打开才可进行此服务####