现在假设用户想要连接到端口21并且Iptables不允许它.
现在,当用户被拒绝时,该消息记录在任何地方,以便我可以看到所使用的部分被阻止或为什么特定端口被阻止.
而不是挖掘每一个设置,找出为什么我没有通过它.
我已经将默认的ssh端口更改为8022,但我得到了连接拒绝.
我检查过telnet并在该端口上监听.我有空的iptables.
是否有任何日志,我可以检查谁拒绝连接
解决方法
没有.默认情况下没有日志,显示了这一点,但是
显示当前的防火墙配置
了解防火墙的配置方式:
iptables -L
首先查找Chain [INPUT | OUTPUT]策略.如果除了ACCEPT之外还有其他任何东西,那么使用过的端口可能需要进行彻底的接受.
iptables -L INPUT | grep `port=2[01]`
要显示有关端口20和端口21的明确规则,但要注意,您可能必须阅读整个防火墙配置,检查多端口,用户定义链等.如果您根本不了解iptables,这可能会变得很难.
空打开的防火墙配置可能如下所示:
iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination
看到:
man iptables
知道什么可以阻止规则中的某些内容
我用这个技巧:
touch /tmp/tmp_iptable_stat.txt getChanges() { pushd /tmp >/dev/null for table in $(</proc/self/net/ip_tables_names);do echo $RANDOM: - $table iptables -t $table -nvxL --line-number done | diff -u tmp_iptable_stat.txt - | tee >(patch -p0) | sed ' s/^+[0-9]*: - /TABLE /p; s/^+//p; d' popd >/dev/null }
比第一次调用getChanges会转储所有表和计数器.
子句调用相同的函数将只打印修改计数器的规则.这有助于找出阻止某些内容的规则.
显示当前网络堆栈状态:
内核网络堆栈可以被转储
netstat -tan Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN tcp 0 2364 192.168.1.1:21 192.168.1.35:49179 ESTABLISHED
用于TCP套接字或
netstat -uan Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State
用于UDP套接字.
由于我的FTP服务器使用TCP套接字,我可以看到我的服务器和主机之间当前建立了一个交换机… 35,(服务器当前有2364个数据包发送给客户端.也许是一个文件,可能是列表…)
跟踪特定接口上的流量
您可以观看界面上发生的事情,而不是使用日志:
tcpdump -i ethX
这将转储有关ethX上的流量的有用信息,但默认情况下并且更具有可读性,此工具将尝试解析每个IP的名称.因此,事件本身与终端上的转储之间可能存在一些延迟.所以:
tcpdump -ani ethX
不会尝试解析(opt -n)IP和服务名称,并将显示遍历该接口的所有(-a)数据包.
更精细:
tcpdump -ani ethX port 21 or port 20 09:17:58.264453 IP 192.168.1.1.21 > 192.168.24.91.45951: Flags [S.],seq 3593971599,ack 1942867644,win 5792,options [mss 1460,sackOK,TS val 1168768120 ecr 62841986,nop,wscale 7],length 0 09:17:58.299693 IP 192.168.1.35.56485 > 192.168.1.1.21: Flags [S],seq 3334605998,win 5840,options [mss 1368,TS val 1936641509 ecr 0,length 0 09:17:58.299728 IP 192.168.1.1.21 > 192.168.1.35.56485: Flags [S.],seq 980554936,ack 3334605999,TS val 1168768129 ecr 1936641509,length 0 ...
更详细:…使用-v或-vv进行完整协议解码
tcpdump -anvvi ethX port 21 or port 20 tcpdump: listening on eth1,link-type EN10MB (Ethernet),capture size 65535 bytes 09:22:40.047486 IP (tos 0x0,ttl 62,id 31488,offset 0,flags [DF],proto TCP (6),length 60) 192.168.24.91.46011 > 192.168.1.1.21: Flags [S],cksum 0x5985 (correct),seq 3989081263,win 14600,TS val 62912431 ecr 0,wscale 6],length 0 09:22:40.047525 IP (tos 0x0,ttl 64,id 0,length 60) 192.168.1.1.21 > 192.168.24.91.46011: Flags [S.],cksum 0x926d (correct),seq 2283473829,ack 3989081264,TS val 1168838566 ecr 62912431,length 0 09:22:40.817248 IP (tos 0x0,id 31489,length 52) 192.168.24.91.46011 > 192.168.1.1.21: Flags [.],cksum 0xd6e9 (correct),seq 1,ack 1,win 229,options [nop,TS val 62912442 ecr 1168838566],length 0 09:22:40.817567 IP (tos 0x0,id 31490,length 52) 192.168.24.91.46011 > 192.168.1.1.21: Flags [F.],cksum 0xd6e3 (correct),TS val 62912447 ecr 1168838566],length 0 ...
您可以在哪里遵循每项操作.