安装
yum install iptables-services #安装
vi /etc/sysconfig/iptables #编辑防火墙配置文件
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
:wq! #保存退出
systemctl restart iptables.service #最后重启防火墙使配置生效
systemctl enable iptables.service #设置防火墙开机启动
iptables 规则参数
- -F 清空iptables规则
- -A 追加一条规则到规则列表尾部
- -I 插入一条规则,默认插入到规则列表头部
代码
iptables -F //清空当前iptables规则
iptables -A INPUT -i lo -j ACCEPT //接受环回请求
iptables -A INPUT -p tcp --dport 80 -j ACCEPT //接受发入80端口的tcp请求。对所有人开放HTTP服务
iptables -A INPUT -p tcp --dport 443 -j ACCEPT //接受发入443端口的tcp请求。对所有人开放HTTPS服务
iptables -A INPUT -p udp --dport 5394 -j ACCEPT //接受发入5394端口的udp请求。对所有人开放一个私有的服务
iptables -A INPUT -p tcp --dport 23322 -j ACCEPT //接受发入23322端口的tcp请求。对所有人开放一个私有的服务
iptables -I INPUT -s 121.9.245.181 -j ACCEPT //接受来自IP 121.9.245.181 的所有请求。IP 白名单
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT //接受已建立连接的所有请求。这其实是一条防手残规则,防止在你执行这些脚本时把你的 SSH 连接断掉
iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT //接受 PING。
iptables -A OUTPUT -j ACCEPT //接受本机向外发出的请求。
iptables -I INPUT -p tcp --dport 3128 -j DROP //DROP 掉发入3128端口的tcp请求。防止代理扫描攻击
iptables -I INPUT -s 104.194.76.27 -j DROP //DROP 掉来自IP 104.194.76.27的所有请求。IP 黑名单。以下同
iptables -I INPUT -s 104.194.76.17 -j DROP
iptables -I INPUT -s 37.26.128.179 -j DROP
iptables -A INPUT -j DROP //DROP 掉其他发入的所有请求。
iptables对于请求的处理方式共三种:ACCEPT、DROP、REJECT。DROP 与 REJECT 虽然都能作出拒绝处理,但效果是不一样的:
- DROP:丢弃发入的数据包,假装自己不存在;
- REJECT:回应一个拒绝信息给发送者,告知其服务不可用。
添加iptables防火墙规则
[root@localhost ~]# iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
[root@localhost ~]# iptables -A INPUT -p tcp --dport 80 -j ACCEPT
[root@localhost ~]# service iptables save
[root@localhost ~]# service iptables restart
网友评论