1.防火墙
之前用的都是同事配好的服务器,所以防火墙都是配置好的,但是今天用的是新服务器,突然发现没有iptables这个配置文件,找了又找,也没找到,后来才知道iptables可以储存配置文件,用service iptables save 这样/etc/syscof/就会有iptables这个文件了,
-A、-I、-D、-R、-P、-F
APPEND,追加一条规则
INSERT,插入一条规则
DELETE,删除一条规则
REPLACE,替换一条规则
POLICY,设置某个链的默认规则
FLUSH,清空规则
INPUT: 位于 filter 表,匹配目的 IP 是本机的数据包
FORWARD: 位于filter 表,匹配穿过本机的数据包,
PREROUTING: 位于 nat 表,用于修改目的地址(DNAT)
POSTROUTING:位于 nat 表,用于修改源地址 (SNAT)
-i、-o
流入、流出接口
-i ppp0
-s、-d
来源、目的地址
-s192.168.0.1 匹配来自 192.168.0.1 的数据包
-s 192.168.1.0/24 匹配来自 192.168.1.0/24网络的数据包
-p
协议类型
-p icmp --icmp-type 类型
-p tcp
--sport、--dport
来源、目的端口
--sport1000 匹配源端口是 1000 的数据包
--sport 1000:3000 匹配源端口是 1000-3000的数据包(含1000、3000)
--sport:3000 匹配源端口是 3000 以下的数据包(含 3000)
--sport1000: 匹配源端口是 1000 以上的数据包(含 1000)
-m
state --state NEW、RELATED、ESTABLISHED、INVALID
mac --mac-source xxxxxxx
limit --limit 50/s
-m multiport --dports 21,22,25,80,110
-j
ACCEPT
DROP
SNAT
DNAT
MASQUERADE
一般用法:
开放端口:iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
封禁某个IP:iptables -I INPUT -s ***.***.***.*** -j DROP
解封某个IP:iptables -D INPUT -s ***.***.***.*** -j DROP
参数-I是表示Insert(添加),-D表示Delete(删除)。后面跟的是规则,INPUT表示入站,***.***.***.***表示要封停的IP,DROP表示放弃连接。
清空封掉的IP地址:iptables -flush
添加IP段到封停列表:iptables -I INPUT -s 121.0.0.0/8 -j DROP 0/8 子网掩码 是网段 不允许这网段访问
过滤所有非以上规则的请求 iptables -P INPUT DROP (不知道为啥,这样设置后非常卡)