[linux]防火牆配置
linux防火牆配置
second60 20181030
1.配置檔案
路徑: /etc/sysconfig/iptables
內容:
# sample configuration for iptables service # you can edit this manually or use system-config-firewall # please do not ask us to add additional ports/services to this default configuration *filter # 該規則表示INPUT表預設策略是ACCEPT :INPUT ACCEPT [0:0] # 該規則表示FORWARD表預設策略是ACCEPT :FORWARD ACCEPT [0:0] # 該規則表示OUTPUT表預設策略是ACCEPT :OUTPUT ACCEPT [0:0] # 意思是允許進入的資料包只能是剛剛我發出去的資料包的迴應, # ESTABLISHED:已建立的連結狀態。 # RELATED:該資料包與本機發出的資料包有關。 -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT # 下兩條是在INPUT表和FORWARD表中拒絕所有其他不符合上述任何一條規則的資料包。 # 並且傳送一條host prohibited的訊息給被拒絕的主機。 # 注意:所有新加過濾規則必須要這兩條上面才有效 -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -j REJECT --reject-with icmp-host-prohibited # 提交 COMMIT
2.新增規則
新增8080埠允許
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT
操作分類:
-A 新增一條規則
-D 刪除一條規則
-R 替換一條規則
-I 插入一條規則
防火牆鏈
INPUT : 輸入鏈
OUTPUT: 輸出鏈
FORWARD: 重定向鏈
-p protocal (all/tcp/udp/icmp)
-s 指定源地址 (-s 0.0.0.0/0)
-d 指定目的地址(-d 192.168.1.1)
-i 指定入口網絡卡( -i eth0)
-o 指定出口網絡卡(-o eth0)
--sport 源埠 (--sport 22)
--dport 目的埠(--dport 22:80)
-j 指定要進行的動作(ACCEPT 將封包放行, DROP 丟棄包不處理, REJECT 拒絕)
3.防火牆命令
在新增好防火牆後,需要用命令讓防火牆生效
3.1停止(即時生效,重啟後復原)
service iptables stop
systemctl stop iptables
3.2啟動(即時生效,重啟後復原)
service iptables start
systemctl start iptables
3.3 重啟(即時生效,重啟後復原)
service iptables restart
systemctl restart iptables
3.4 永久開啟
chkconfig iptables on
systemctl enable iptables
3.5 永久關閉
chkconfig iptables off
systemctl disable iptables
4 防火牆命令
iptables --help
4.1 設定預設規則
iptables -P INPUT DROP
iptables -P FORWARD DROP
當超出iptables裡filter表裡的兩個鏈規則(INPUT, FORWARD)時, DROP 丟棄
iptables -P OUTPUT ACCEPT
對OUTPUT鏈,流出的包,不做限制
4.2 新增規則
INPUT鏈的預設規則是DROP,所以把可以通過的規則寫成ACCEPT
4.2.1 遠端SSH埠22開放
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 22 -j ACCEPT (如果OUTPUT設成了DROP,要加這條)
4.2.2 開放WEB 80埠
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
4.2.3 郵件服務端 25,110埠
iptables -A INPUT -p tcp --dport 25 -j ACCEPT
iptables -A INPUT -p tcp --dport 110 -j ACCEPT
4.2.3 FTP伺服器21埠
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
4.2.4 DNS伺服器53埠
iptables -A INPUT -p tcp --dport 53 -j ACCEPT
4.2.5 要開放的埠同理
iptables -A INPUT -p tcp --dport port_num -j ACCEPT
4.2.6 要禁用的埠
iptables -A INPUT -p tcp --dport port_num -j DROP
4.2.7 允許icmp包通過,允許ping
iptables -A OUTPUT -p icmp -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT
4.2.8 允許loopback(DNS)
iptables -A INPUT -i lo -p all -j ACCEPT
iptables -A OUTPUT -o lo -p all -j ACCEPT
4.2.9 減少不安全埠
iptables -A OUTPUT -p tcp --sport 31337 -j DROP
iptables -A OUTPUT -p tcp --dport 31337 -j DROP
4.2.10 只允許192.168.0.2的機器連線
iptables -A INPUT -s 192.168.0.2 -p tcp --dport 22 -j ACCEPT
4.2.11 允許一段IP連線(192.168.0.1-255)
iptables -A INPUT -s 192.168.0.0/24 -p tcp --dport 22 -j ACCEPT
用命令和直接修改配置是一樣的,最後修改好後,別忘了重啟防火牆生效。