Linux上使用telnet连接本机IP地址端口
场景
Linux开启了iptables!!!
开启本机TCP80端口服务。Linux本机IP地址是192.168.204.129。本机telnet连接本机的TCP80端口。
目的
telnet 192.168.204.129 80,能够连接通。
输入规则
1)需要配置一个让本机TCP80端口响应报文进来的规则,有两种配置方式
#目的IP是本机
iptables -I INPUT -p tcp -d 192.168.204.129 -j ACCEPT
或者配置源IP是本机的,配置这个的话,其它主机就无法访问本机的TCP80了
#源IP是本机
iptables -I INPUT -p tcp -s 192.168.204.129 -j ACCEPT
2)让要访问本机TCP80端口的报文进入,配置这个主要是为了让其它主机能够访问本机IP,针对现在的场景是可以不配置这个的,只配置1)的规则
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
输出规则
1)配置这个是为了让本机TCP输出报文能够发送到目标IP,这里目标IP配置本机IP地址192.168.204.129是为了保证本机telnet客户端连接本机tcp80端口请求报文和TCP80端口的响应报文能够出去
iptables -I OUTPUT -p tcp -d 192.168.204.129 -j ACCEPT
当然也可以配置源IP是本机的,如果是配置源IP是本机的这种,外部其它主机就无法访问了
iptables -I OUTPUT -p tcp -s 192.168.204.129 -j ACCEPT
2)配置这个是为了让本机Linux来自TCP80端口的报文出去,可以发给本机或者是其它主机。这个是可以不配置的。如果不配置这个,其它主机无法接收本机TCP80端口的响应报文
iptables -I OUTPUT -p tcp --sport 80 -j ACCEPT
分析
这里涉及四个核心报文:
1)telnet客户端连接tcp80端口的出站报文
2)tcp80端口响应给telnet客户端的出站报文
3)telnet客户端连接tcp80端口的入站报文
4)tcp80端口响应给telnet客户端的入站报文
这里的1)和3)往根儿上说是同一个报文,只不过它既要出站也要入站。
这里的2)和4)往根儿上说是同一个报文,只不过它既要出站也要入站。
备注
telnet去网上查了下它的端口是23,对该端口进行配置使用验证后发现不管用。telnet 192.168.204.129 80该命令中telnet连接TCP80端口使用的应该是随机端口。
简单展示
上面截图的规则是在这个场景下会生效的INPUT规则和OUTPUT规则。OUTPUT开放了tcp源端口是80的接收规则是为了让其它主机能够访问通本机的TCP80端口。
更多推荐
所有评论(0)