linux中firewall与iptables防火墙服务
firewall-cmd --state 查看火墙的状态
firewall-cmd --get-active-zones 目前所处的域
firewall-cmd --get-default-zone 查看默认的域
firewall-cmd --get-zones 查看所有的域
![](https://images2018.cnblogs.com/blog/1443263/201808/1443263-20180818212853281-1388130246.png)
fiewall-cmd --zone=public ---list-all 查看pubic这个域里的具体信息
![](https://images2018.cnblogs.com/blog/1443263/201808/1443263-20180818212905535-1353696377.png)
firewall-cmd --get-services 查看可以添加的服务
firewall-cmd --list-all-zones 查看所有域的具体信息
实验ji
firewall-cmd --set-default-zone=public 设置默认域为punblic
![](https://images2018.cnblogs.com/blog/1443263/201808/1443263-20180818212947214-384910196.png)
firewall-cmd --add-source=172.25.254.203 -zone=trusted 此时对于172.25.254.203域为trusted就是完全信任
firewall-cmd --remove-source=172.25.254.203 --zone=trusted 移除这个设置
![](https://images2018.cnblogs.com/blog/1443263/201808/1443263-20180818213135407-464841117.png)
首先创建个新的网卡,配置成不同网段的ip新的接口eth1
firewall-cmd --remve-interface-eth1 --zone=public 移除新的网卡的默认的public域
firewall-cmd --add-intreface=eth1 --zone=trusted 把eth1的域设置为trusted
firewall-cmd --get-active-zones 查看目前所处的域,会发现有两个
![](https://images2018.cnblogs.com/blog/1443263/201808/1443263-20180818213223700-1835962873.png)
/lib/firewalld 系统所有的设置
firewall-cmd --add-service=http
也可以
vim /etc/firewalld/zones/public.xml 设置
而xml又取决于当前域的设置
无论以那种方式修改都需要重载。
firewall-cmd --reload 完成当前任务后重载
![](https://images2018.cnblogs.com/blog/1443263/201808/1443263-20180818213322683-1599944988.png)
firewall-cmd --complete-reload 终止当前任务并重载
-----------------------
三表五链
firewall-cmd --direct --remove-rule ipv4 filter INPUT 2 -s 172.25.254.204 -p tcp --dport 22 -j ACCEPT
firewall-cmd --direct --add-rule ipv4 filter INPUT 2 ! -s 172.25.254.204 -p tcp --deport 22 -j ACCEPT
firewall-cmd --add-masquerade
firewall-cmd --list-all
![](https://images2018.cnblogs.com/blog/1443263/201808/1443263-20180818222300763-302535083.png)
firewall-cmd --add-masquerade
firewall-cmd --add-rich-rule="rule family=ipv4 source address=172.25.254.103 masquerade
vim /etc/sysctl.conf
net.ipv4.ip_forward=1
客户端
设置ip为192.168.0.3,网关为192.168.0.103
在客户端通过ssh连接172.25.254.3,查看登陆172.25.254.3的用户为172.25.254.103
firewall-cmd --add-icmp=block=echo-request timeout=10
-----------------
iptables
iptables -nL 显示策略
iptables -F 清除策略
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -s 172.25.254.250 -j ACCEPT ##添加
iptables -I INPUT 2 -s 172.25.254.250 -p tcp --dport 22 -j ACCEPT ##插入
iptables -R INPUT 2 -s 172.25.254.250 -p tcp --dport 22 -j DROP ##修改
iptables -D INPUT 2 ##删除
iptables -P INPUT DROP ##修改默认策略
iptables -P INPUT DROP
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT ##访问过的,正在访问的可以访问
iptables -A INPUT -i lo -m state --state NEW -j ACCEPT ##接受访问本地回环网络
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT ##接受访问22端口
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT ##接受访问80端口
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 53 -j ACCEPT ##接受访问53端口
iptables -A INPUT -j REJECT ##拒绝其他访问
创建新的链
iptables -N westos
更改链名
iptables -E westos HELLO
删除链
iptables -X HELLO