firewalld


###################################firewalld#########################################

1,
基础环境的设置
systemctl stop iptables
systemctl mask iptables.service    ##
冻结启动iptables服务


2
,使用命令行接口配置防火墙
systemctl start firewalld       ##
启动防火墙   
systemctl 
enable firewalld

firewall-cmd --state        ##
查看firewalld的状态
firewall-cmd --get-active-zones     ##
查看当前活动的区域,并附带一个目前分配给它们的接口列表

firewall-cmd --get-default-zone     ##
查看默认区域
firewall-cmd --set-default-zone=public      ##
设置默认区域为public

firewall-cmd --permanent --zone=trusted --add-source=172.25.254.90  ##
设置网络地址到指定的区域
firewall-cmd --permanent --zone=trusted --remove-source=172.25.254.90   ##
删除指定区域中的网路地址
firewall-cmd --reload       ##
重载防火墙(不会中断已经建立的连接)

firewall-cmd --remove-interface=eth0 --zone=public ##
删除网络接口
firewall-cmd --add-interface=eth0 --zone=trusted    ##
添加网络接口


firewall-cmd --add-rich-rule='rule family="ipv4" sourceaddress="172.25.254.90" accept'     ##
允许172.25.254.90主机所有连接
firewall-cmd --add-rich-rule="rule service name=ftp limit value=2/maccept" ##
每分钟允许2个新连接访问ftp服务
firewall-cmd --remove-rich-rule='rule family="ipv4" sourceaddress="172.25.254.90" accept'   ##
移除一项规则

测试:
如图一
firewalld

3,
伪装:
基础环境:

firewall-cmd --remove-interface=eth0 --zone=trusted
firewall-cmd --add-interface=eth0 --zone=public
如图二
firewalld



源地址伪装:
firewall-cmd --add-masquerade
echo 1 > /proc/sys/net/ipv4/ip_forward
firewall-cmd 
--zone=public--add-rich-rule='rule family=ipv4 source address=172.25.0.0/24 masquerade'

举例:
firewall-cmd  --zone=public--add-masquerade
firewall-cmd 
--zone=public--add-rich-rule='rule family=ipv4 source address=172.25.254.135/24 masquerade'
如图六
firewalld

测试:
172.25.90.10登陆到172.90.11,如图七


端口转发:

如图三
firewall-cmd --zone=public--add-forward-port=port=22:proto=tcp:toport=22:toaddr=172.25.254.90



测试:
172.25.90.10登陆
如图四
firewalld


172.25.254.90登陆
如图五

firewalld