0%

网络开发点滴.md

这里记录一些网络开发时的知识点

为什么不建议使用0.0.0.0这个IP地址?

在云主机上,不建议绑定 0.0.0.0 这个IP地址。其原因是,0.0.0.0 表示所有可用的IP地址,如果服务绑定在0.0.0.0上,将允许来自任何网络接口的所有请求都能够到达该服务,从而可能导致安全风险。例如,如果你的云主机同时有内网IP和外网IP,你可能只希望服务只监听外网IP地址,这样可以避免来自内网的非授权访问。

因此,在云主机上,建议将服务绑定到具体的IP地址上,以增加网络安全性。

在云主机上有内网和外网地址,我们该用哪个?

如果在云主机有一个公网 IP 和一个内网 IP,而您的网络服务需要对外提供服务,则应该使用公网 IP 地址和端口号。这样,外部用户可以通过 Internet 连接到您的服务。

如果您的服务只在内部网络中使用,那么可以使用内网 IP 地址和端口号。这样,只有内部网络中的用户才能连接到您的服务。

需要注意的是,在使用公网 IP 地址时,还需要在防火墙中打开相应的端口,以便外部用户可以连接到您的服务。而在使用内网 IP 地址时,通常不需要打开防火墙,因为内部网络是相对安全的,只有经过授权的用户才能连接到您的服务。

客户端无法联网,如何判断是无法与路由器连接还是无法与与互联网连接?

可以通过向默认网关发ping消息来判断是否主机能与路由器联接。如果客户端可以收到路由器的返馈包,说明两者联接是好的。否则说明无法与路由器连接。

之后可以向一台云主机发包,如果云主机可以往回数据说明网络联接是好的,否则说明路由器无法联网。

如何判断客户端主机IP是否被劫持了?

可以向多台云主机发送数据包,让云主机获取到的客户端主机IP地址返回,如果一致说明没有被劫持,否则说明某条线路的IP地址被劫持了。

VPN突然连不上了问题分析

前两天VPN还好好的,结果这两天就突然不能使了,这是啥原因呢?下面记录一下我分析这个问题的过程。

  • 首先登陆到云主机上,看端口是否已经开启了。需要注意的是确认端口是TCP还是UDP。默认VPN端口都是UDP端口1194。

  • 对于TCP端口可以使用telnet验证是否处于服务端态,而对于UDP端口则可以使用 nmap 或 nc 来验证。

    1
    sudo nmap -sU -p 1194 xxx.xxx.xxx.xxx

    上述命令中 -sU 指明扫描UDP协议,**-p** 指明要扫描的端口。或者使用 nc 命令,其具体格式如下:

    1
    nc -vuz xxx.xxx.xxx.xxx 1194

    其中 -v 表示输出详细信息;**-u** 表示扫描UDP端口;**-z** 表示zero I/O。

  • 如果服务的端口是OK的,接下来要到云主机上抓包,看一下进/出包是否正常。可以使用以下面的命令来抓包:

    1
    tcpdump -i eth0 udp port 1194
  • 如果进/出包也正常,则需要再客户端抓包,可以使用wireshark抓包。

我这次的问题就是通过分析客户端的抓包情况才找到真正原因的。

云主机进/出包正常,而客户端只有出包没有入包,说明包从云主机出来后,被拦截了。

欢迎关注我的其它发布渠道