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端口使用的应该是随机端口。

简单展示

Linux上使用telnet连接本机IP地址端口_第1张图片
上面截图的规则是在这个场景下会生效的INPUT规则和OUTPUT规则。OUTPUT开放了tcp源端口是80的接收规则是为了让其它主机能够访问通本机的TCP80端口。

你可能感兴趣的:(Linux,tcp/ip,网络,linux)