首先我们知道,NEW与协议无关,其所指的是每一条连接中的第一个数据包,假如我们使用SSH client连接SSH server时,这条连接中的第一个数据包的状态就是NEW。
3、RELATED
RELATED状态的数据包是指被动产生的数据包。而且这个连接是不属于现在任何连接的。RELATED状态的数据包与协议无关,只要回应回来的数据包是因为本机送出一个数据包导致另一个连接的产生,而这一条新连接上的所有数据包都是属于RELATED状态的数据包。
4、INVALID
INVALID状态是指状态不明的数据包,也就是不属于以上三种状态的封包。凡是属于INVALID状态的数据包都视为恶意的数据包,因此所有INVALID状态的数据包都应丢弃掉,匹配INVALID状态的数据包的方法如下:
iptables -A INPUT -p all -m state INVALID -j DROP
我们应将INVALID状态的数据包放在第一条。
|
--------- |---》
client | server
《------------- | -----
|
new established
INPUT 拒绝 允许
OUTPUT 允许 允许
1,在10.1.1.36上
iptables -P INPUT DROP
iptables -P OUTPUT DROP
这里就把双链都关掉,10.1.1.35任何访问都过不来了
2,在10.1.1.36上
iptables -A INPUT -p icmp -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p icmp -m state --state NEW,ESTABLISHED -j ACCEPT
--重点是INPUT那条不能允许NEW状态的;
--注意第二步的第二条(也就是output这条),如果只写了NEW状态,那么10.1.1.36ping所有人,都只能通第一个包;加上ESTABLISHED状态,所有包都能通
例3:
1,在双链默认策略为drop的情况下,只有10.1.1.35可以ssh访问我
2, 在上面的基础上加上需求:实现我想访问别人的服务(任何服务),都可以成功;
2,继续加需求:但别人想访问我的服务,只允许可以访问我的80端口
3,继续加需求:允许我ping任何人,但只允许10.1.1.35这一个IP能ping通我
# iptables -P INPUT DROP
# iptables -P OUTPUT DROP
# iptables -A INPUT -p tcp --dport 22 -s 10.1.1.35 -j ACCEPT
# iptables -A OUTPUT -m state --state new,established,related -j ACCEPT
# iptables -A INPUT -m state --state established,related -j ACCEPT
# iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# iptables -A INPUT -p icmp -s 10.1.1.35 -j ACCEPT
操作命令:
echo 200 t1 >> /etc/iproute2/rt_tables
ip rule add from 1.1.1.128 table t1
ip route add default via 2.2.2.128 dev vmnet2 table t1
ip route flush cache
--下面这四条是告诉dianxin路由表找2.2.2.230出去;告诉wangtong路由表找71.1.1.131出去;eth0就是2.2.2.236的网卡;eth1就是71.1.1.132的网关
# ip route add 2.2.2.0 dev eth0 src 2.2.2.236 table dianxin
# ip route add default via 2.2.2.230 table dianxin
# ip route add 71.1.1.0 dev eth1 src 71.1.1.132 table wangtong
# ip route add default via 71.1.1.131 table wangtong
--下面这两条是加规则,指定从2.2.2.236回去的包找dianxin表;从71.1.1.132出去的包找wangtong表
# ip rule add from 2.2.2.236 table dianxin
# ip rule add from 71.1.1.132 table wangtong
# ip rule
0: from all lookup local
32764: from 71.1.1.132 lookup wangtong
32765: from 2.2.2.236 lookup dianxin
32766: from all lookup main
32767: from all lookup default