centos7的防火墻分兩種,一種是firewall,另一種是iptables,這兩種的配置方式不同。iptables可以配置的規(guī)則過于精細,功能十分強大,這里不細說。
1.firewall
1.1基本操作
啟動防火墻 systemctl start firewalld
關閉防火墻 systemctl stop firewalld
查看防火墻運行狀態(tài) systemctl status firewalld
查看防火墻當前規(guī)則 firewall-cmd --list-all
重載防護墻 firewall-cmd –reload
1.2期望的防火墻效果
-
對所有IP開放所有端口
只需要關閉防火墻即可。
-
對所有IP開放指定端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
把上面命令的80替換成你想要開放的端口即可。
| 參數(shù) | 解釋 |
|---|---|
| --zone=public | 指定該規(guī)則的作用域為public,除非配置多個自定義zone,否則此項不需要更改。 |
| --add-port=80/tcp | 表示添加一個端口,該端口僅限tcp的連接方式,udp的方式則寫80/udp。 |
| --permanent | 將此配置寫入配置文件,重啟后不失效,否則防火墻重啟后該規(guī)則會失效。 |
-
對指定IP開放所有端口
firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.163.130" accept'
| 參數(shù) | 解釋 |
|---|---|
| --add-rich-rule | 添加自定義規(guī)則,如果要移除一個規(guī)則要替換為--remove-rich-rule |
| family | 允許訪問的IP模式 |
| source address | 來源IP |
| accept | 允許訪問 |
-
對指定IP開放指定端口
firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.163.130" port protocol="tcp" port="9090" accept'
-
對指定IP段開放指定端口
只需要在上面命令中的IP部分后面添加子網(wǎng)掩碼的位數(shù),同時將最后IP最后一部分改成0即可。如:source address="192.168.163.0/24"
子網(wǎng)掩碼中
255.255.255.0對應24
255.255.0.0對應16
具體的轉換機制可以直接百度搜子網(wǎng)掩碼轉換器
-
開放指定范圍的端口
firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.163.130" port protocol="tcp" port="9090-10000" accept'
-
移除規(guī)則
--add-port添加的規(guī)則使用--remove-port來移除
--add-rich-rule添加的規(guī)則使用--remove-rich-rule來移除
如:
firewall-cmd --zone=public --remove-port=80/tcp --permanent
firewall-cmd --permanent --zone=public --remove-rich-rule='rule family="ipv4" source address="192.168.163.130" port protocol="tcp" port="9090" accept'