博客概述
这个博客写于某智能健身项目的测试期间,之前一直用的是centos系统,因为此次项目需要用到了稳定桌面运行的ubuntu系统,系统版本18.04,需要测试局域网中的TCP数据通讯功能。把过程中对外开放端口的部分进行记录以及测试局域网端口的联通性。
对外开放端口
使用的系统使用的是UFW(ufw 即uncomplicated firewall的简称,不复杂的防火墙,繁琐部分的设置还是需要去到iptables)防火墙,已经支持界面操作了。在命令行运行ufw命令就可以看到提示的一系列可进行的操作。下面记录几个常用的命令。
- 查看防火墙状态
sudo ufw status
- 查看防火墙的版本,不同的版本可能有不同的指令更新。
sudo ufw version
- 关闭所有外部的访问,这种情况一般是不存在的外部链接的场景。运行以下两条命令后,开启了防火墙,并在系统启动时自动开启。关闭所有外部对本机的访问,但本机访问外部正常。
sudo ufw enable
sudo ufw default deny
- 打开/关闭某个端口的某协议的通讯。
sudo ufw allow|deny [service]
实战案例使用
sudo ufw allow smtp 允许所有的外部IP访问本机的25/tcp (smtp)端口
sudo ufw allow 22/tcp 允许所有的外部IP访问本机的22/tcp (ssh)端口
sudo ufw allow 53 允许外部访问53端口(tcp/udp)
sudo ufw allow from 192.168.1.100 允许此IP访问所有的本机端口
sudo ufw allow proto udp 192.168.0.1 port 53 to 192.168.0.2 port 53
sudo ufw deny smtp 禁止外部访问smtp服务
sudo ufw delete allow smtp 删除上面建立的某条规则
- 启动与关闭防火墙,对于新人不会配置,想保证通讯不被配置影响的话,可以在测试的时候,关闭防火墙。但是运行环境不可以。
ufw enable/disable 打开/关闭ufw
常用的命令到此基本就算是结束了。
测试联通性(ping+telnet)
开放了端口之后,要进行程序对接,先要进行两个步骤:测试网络联通性和确认端口是否可以通讯。
测试网络联通性
这个就相对比较简单首先用指令查看本机的ip,然后用ping命令测试与对方链接的通畅性。
ping 192.168.1.100 //测试本机与局域网中的ip为100的机子的联通性
ipconfig //windows系统查看本机的网络配置信息列表,含有ip信息。
ifconfig //linux内核的系统 查看本机的网络配置信息列表,含有ip信息。
测试端口可通信
这个过程分为两步,确认本机端口可通信,然后再确认局域网中端口可以通信。为什么要用这个呢?因为可能有些防火墙禁ping,所以测试两次。
测试过程
存在ubuntu系统没有安装telnet服务的可能性,如果不会安装和查看本机是否有这项服务,请查看博客:
https://blog.csdn.net/a1964543590/article/details/69485836/
安装好了之后可以进行使用的了,这个命令win和linux通用,命令格式如下:
telnet ip port : 查看某一个机器上的某一个端口是否可以访问,如:telnet 114.80.67.193 8080
如果win系统找不到,请参考这篇博客:
https://www.cnblogs.com/ylcms/p/7250129.html
需要注意的是:输入了指令之后要输入一个组合键,要不然新手容易觉得连接失败了或者卡住了。组合键如下:
Escape character is '^]'. (停在这里的时候要按Ctrl+] 然后回车)