Centos 7 firewall :
1、firewalld的基本使用
2.systemctl是CentOS7的服務管理工具中主要的工具,它融合之前service和chkconfig的功能於一體。
啟動一個服務:systemctl start firewalld.service
關閉一個服務:systemctl stop firewalld.service
重啟一個服務:systemctl restart firewalld.service
顯示一個服務的狀態:systemctl status firewalld.service
在開機時啟用一個服務:systemctl enable firewalld.service
在開機時禁用一個服務:systemctl disable firewalld.service
查看服務是否開機啟動:systemctl is-enabled firewalld.service
查看已啟動的服務列表:systemctl list-unit-files|grep enabled
查看啟動失敗的服務列表:systemctl --failed
3.配置firewalld-cmd
Centos 6 iptables:
1、iptables的基本使用
2、開放指定的端口
-A和-I參數分別為添加到規則末尾和規則最前面。
#允許本地回環接口(即運行本機訪問本機) iptables -A INPUT -i lo -j ACCEPT # 允許已建立的或相關連的通行 iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT #允許所有本機向外的訪問
iptables -P INPUT ACCEPT iptables -A OUTPUT -j ACCEPT # 允許訪問22端口 iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -s 10.159.1.0/24 --dport 22 -j ACCEPT
注:-s后可以跟IP段或指定IP地址 #允許訪問80端口 iptables -A INPUT -p tcp --dport 80 -j ACCEPT #允許FTP服務的21和20端口 iptables -A INPUT -p tcp --dport 21 -j ACCEPT iptables -A INPUT -p tcp --dport 20 -j ACCEPT #如果有其他端口的話,規則也類似,稍微修改上述語句就行 #允許ping iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT #禁止其他未允許的規則訪問 iptables -A INPUT -j REJECT #(注意:如果22端口未加入允許規則,SSH鏈接會直接斷開。) iptables -A FORWARD -j REJECT
3、屏蔽IP
#如果只是想屏蔽IP的話 “3、開放指定的端口” 可以直接跳過。 #屏蔽單個IP的命令是 iptables -I INPUT -s 123.45.6.7 -j DROP #封整個段即從123.0.0.1到123.255.255.254的命令 iptables -I INPUT -s 123.0.0.0/8 -j DROP #封IP段即從123.45.0.1到123.45.255.254的命令 iptables -I INPUT -s 124.45.0.0/16 -j DROP #封IP段即從123.45.6.1到123.45.6.254的命令是 iptables -I INPUT -s 123.45.6.0/24 -j DROP
4、查看已添加的iptables的規則
iptables -L -n
N:只顯示IP地址和端口號,不將IP解析為域名
刪除已添加的iptables的規則
將所有iptables以序號標記顯示,執行:
iptables -L -n --line-numbers
比如要刪除INPUT里序號為8的規則,執行:
iptables -D INPUT 8
5、也可以直接編輯配置文件,添加iptables防火牆規則:
iptables的配置文件為/ etc / sysconfig / iptables
編輯配置文件:
vi /etc/sysconfig/iptables
文件中的配置規則與通過的iptables命令配置,語法相似:
如,通過iptables的命令配置,允許訪問80端口:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
那么,在文件中配置,只需要去掉句首的iptables,添加如下內容:
-A INPUT -p tcp --dport 80 -j ACCEPT
保存退出。
有兩種方式添加規則
iptables -A 和iptables -I
iptables -A 添加的規則是添加在最后面。如針對INPUT鏈增加一條規則,接收從eth0口進入且源地址為192.168.0.0/16網段發往本機的數據。
[root@localhost ~]# iptables -A INPUT -i eth0 -s 192.168.0.0/16 -j ACCEPT
iptables -I 添加的規則默認添加至第一條。
如果要指定插入規則的位置,則使用iptables -I 時指定位置序號即可。
刪除規則
如果刪除指定則,使用iptables -D命令,命令后可接序號。效果請對比上圖。
或iptables -D 接詳細定義;
如果想把所有規則都清除掉,可使用iptables -F。
備份iptabes rules
使用iptables-save命令,如:
[root@localhost ~]# iptables-save > /etc/sysconfig/iptables.save
恢復iptables rules
使用iptables命令,如:
[root@localhost ~]# iptables-restore < /etc/sysconfig/iptables.save
iptables 配置保存
以上做的配置修改,在設備重啟后,配置將丟失。可使用service iptables save進行保存。
[root@localhost ~]# service iptables save
重啟iptables的服務使其生效:
service iptables save 添加規則后保存重啟生效。
service iptables restart
后記
關於更多的iptables的使用方法可以執行:
iptables --help