这几天遇到一个问题,iptables中INPUT已经禁止wan口的所有端口,并且没有放开1701端口,为啥vpn拨号还能成功?
本文比较浅显,只是记录下问题过程。
1.首先理解下iptables的四种状态
- NEW状态:与协议无关,每一条连接中的第一个数据包。
- ESTABLISHED状态:当在使用tcp,udp协议时,假使主机发的第一个包成功传过防火墙,那么接下来主机发出和接收到的包的状态都是established状态,只要发送并接到应答,一个数据表的状态就从NEW变为ESTABLISHED,并且该状态会继续匹配这个连接后继数据包。
- RELATED状态:当一个数据包的状态处于ESTABLISHED状态的连接有关系的时候,就会被认为是RELATED,也就是说一个连接想要是RELATED状态,首先要有一个ESTABLISHED的连接。
- INVALID状态:不能被识别属于哪个连接状态或没有任何关系的状态,一般这种数据包都是被拒绝的。
比如设备配置iptables配置了RELATED 和ESTABLISHED允许通过
板卡是通过xl2tp程序进程进行vpn拨号,xl2tp使用的是udp协议,端口为1701;
设备-》发送请求到服务器
这个时候状态已经变成established状态,所以即使output链全部dorp,vpn也能开始建立链接