iptables的状态检测机制(TCP、UDP、ICMP状态详解) | 您所在的位置:网站首页 › 三星a71重启故障 › iptables的状态检测机制(TCP、UDP、ICMP状态详解) |
1、UDP连接连接 UDP(用户数据包协议)是一种无状态协议,以为这个协议没有序列号。不过,这并不意味着我们不能跟踪UDP连接。虽然没有序列号,但是我们还可以使用其它的一些信息跟踪UDP连接的状态。下面是状态表中关于UDP连接的条目: udp 17 19 src=192.168.1.2 dst=192.168.1.50 sport=1032 dport=53 [UNREPLIED] src=192.168.1.50 dst=192.168.1.2 sport=53 dport=1032 use=1 这个状态表项只有在iptables过滤规则允许建立新的连接时,才能建立。以下的规则可以产生这类状态表项,这两条规则只允许向外的UDP连接: iptables -A INPUT -p udp -m state --state ESTABLISHED -j ACCEPT iptables -A OUTPUT -p udp -m state --state NEW,ESTABLISHED -j ACCEPT 上面的状态表项包含如下信息: 连接的协议是UDP(IP协议号17) 这个状态表项还有19秒中就超时
2、TCP连接 iptables -A INPUT -p tcp -m state --state ESTABLISHED -j ACCEPT iptables -A OUTPUT -p tcp -m state --state NEW,ESTABLISHED -j ACCEPT
################
Iptables中的有状态 现在我们来解释一下状态 NEW:如果你的主机向远程机器发时一个连接请求,这个数据包状态是NEW. ESTABLISHED:当联接建立之后,远程主机和你主机通信数据状态为ESTABLISHED RELATED: 像ftp这样的服务,用21端口传送命令,而用20端口(port模式)或其他端口(PASV模式)传送数据。在已有21端口上建立好连接后发送命令,用20传送的数据,状态是RELATED 1, 默认规则,对所以进入你机器的数据都丢弃,iptables -P INPUT DROP 2, 禁止其他机器主动发起对你机器的连接,但你却可以主动的连接其他机器, 这条可以省去由默认规则处理,iptables -A INPUT -m state --state NEW -j DROP 3, 当你主动连接其他机器之后,再进来的数据就是ESTABLISHED状态了,iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT 4, 接下来如果你的机器提供pasv模式的ftp服务(会使用动态的端口来传送数据,这对于有状态的防火墙轻易做到,甚至不用知道它用了哪些端口,因为它会认识到这些数据是RELATED的), iptables -A INPUT -i ppp0 -p tcp -dport 21 -j ACCEPT iptables -A INPUT -i ppp0 -p udp -dport 21 -j ACCEPT 两条命令就解决了内部用户上网收发E_mail、浏览网页、使用msn聊天等需求 #iptables –A FORWARD –i eth0 –p tcp –m multiport --dports 25,80,110,443,1863 –j ACCEPT #iptables –A FORWARD –i eth0 –p udp --dport 53 –j ACCEPTIptables中的有状态 现在我们来解释一下状态 NEW:如果你的主机向远程机器发时一个连接请求,这个数据包状态是NEW. ESTABLISHED:当联接建立之后,远程主机和你主机通信数据状态为ESTABLISHED RELATED: 像ftp这样的服务,用21端口传送命令,而用20端口(port模式)或其他端口(PASV模式)传送数据。在已有21端口上建立好连接后发送命令,用20传送的数据,状态是RELATED 1, 默认规则,对所以进入你机器的数据都丢弃,iptables -P INPUT DROP 2, 禁止其他机器主动发起对你机器的连接,但你却可以主动的连接其他机器, 这条可以省去由默认规则处理,iptables -A INPUT -m state --state NEW -j DROP 3, 当你主动连接其他机器之后,再进来的数据就是ESTABLISHED状态了,iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT 4, 接下来如果你的机器提供pasv模式的ftp服务(会使用动态的端口来传送数据,这对于有状态的防火墙轻易做到,甚至不用知道它用了哪些端口,因为它会认识到这些数据是RELATED的), iptables -A INPUT -i ppp0 -p tcp -dport 21 -j ACCEPT iptables -A INPUT -i ppp0 -p udp -dport 21 -j ACCEPT 两条命令就解决了内部用户上网收发E_mail、浏览网页、使用msn聊天等需求 #iptables –A FORWARD –i eth0 –p tcp –m multiport --dports 25,80,110,443,1863 –j ACCEPT #iptables –A FORWARD –i eth0 –p udp --dport 53 –j ACCEPT
|
CopyRight 2018-2019 实验室设备网 版权所有 |