因服务器受木马攻击,导致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