因服務器受木馬攻擊,導致CPU占用太高,手工清除后,准備采用防火牆對服務器限制外網訪問(不能訪問到外網,但可以訪問部分指定的外網IP)
一、安裝與配置
# 安裝iptables服務
yum install iptables-services -y
禁止上外網的腳本
vi /usr/local/forbid-Intranet.sh
#!/bin/sh
# 黃海反復試驗了幾次,發現在設置之前關閉防火牆才是最安全的辦法,否則會發生連接不上的問題
service iptables stop
iptables -F
iptables -X
iptables -Z
# 允許部分出去的網絡
iptables -A OUTPUT -d 192.168.0.0/8 -j ACCEPT
# 測試一個外網
iptables -A OUTPUT -d www.cnblogs.com -j ACCEPT
#允許icmp包通過,也就是允許ping
iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
#本機對外請求相當於OUTPUT,對於返回數據包必須接收啊,這相當於INPUT了
iptables -I INPUT -i lo -j ACCEPT
iptables -I INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
#信任IP
iptables -A INPUT -s 192.168.192.1 -j ACCEPT
# 禁用所有出去的網絡
iptables -P OUTPUT DROP
# 保存iptbales規則
service iptables save
# 重新啟動
service iptables restart
恢復上外網的腳本
vi /usr/local/allow-Intranet.sh
#!/bin/sh
# 黃海反復試驗了幾次,發現在設置之前關閉防火牆才是最安全的辦法,否則會發生連接不上的問題
service iptables stop
iptables -F
iptables -X
iptables -Z
# 據說這兩句話是必不可缺少的
iptables -I INPUT -i lo -j ACCEPT
iptables -I INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
# 開放22端口
iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
#信任IP
iptables -A INPUT -s 192.168.192.1 -j ACCEPT
#關閉其它端口
iptables -P INPUT DROP
# 保存iptbales規則
service iptables save
# 重新啟動
service iptables restart
二、測試
嘗試訪問內網
ping 192.168.198.2 通了!
嘗試訪問外網
ping www.baidu.com
PING www.a.shifen.com (220.181.38.149) 56(84) bytes of data.
ping: sendmsg: Operation not permitted
測試cnblogs
curl -L www.cnblogs.com
可以測試一下修改set.sh
中,注釋掉cnblogs
那句,執行,然后再次測試curl -L www.cnblogs.com
來測試一下是否有變化
三、常用命令
啟動iptables
systemctl enable iptables
打開iptables
systemctl start iptables
保存iptables
service iptables save
重啟服務
service iptables restart
查看iptables現行規則
iptables -L -n
查看網絡配置
vi /etc/sysconfig/network-scripts/ifcfg-ens33
查看網關
route -n
192.168.198.2