8880端口在linux下怎么开启

昨晚在摆弄旧服务器,突然发现8 8 8 0端口无法联系。
这个端口已经很长时间没有使用了。
安装 Flask 测试应用程序时简直是一团糟。
我赶紧打开车站查看,发现已经很忙了。
这是我忘记删除的旧文本。
我使用 ss -tuln | 检查它grep 8 8 8 0,发现是过期的Python服务。
我停止了它并选择了 app.run(port=8 8 8 0, host='0.0.0.0'),认为这次我必须弄清楚这一切。

我先尝试了防火墙,它运行在CentOS 7 上。
输入firewall-cmd --add-port=8 8 8 0/tcp --zone=public,你会立即看到需要重新加载的提示。
只需firewall-cmd --reload。
为了安全起见,请使用firewall-cmd --query-port=8 8 8 0/tcp --zone=public 进行确认,它会说“是”,这样您会感觉更舒服。
心想这次应该可以了。

结果,我尝试在另一台机器上使用telnet,但没有成功。
等等,SELinux 会不会有问题? CentOS这个破系统就喜欢这么做。
快速看一下sestatus,它已经实现了。
我暂时改成allowed,并尝试了setenforce 0。
然后我又尝试了telnet,这次成功了! SELinux好像不给面子。
我更改了配置设置setsebool -P httpd_can_network_connect,希望以后能使用它。
但我突然想到,使用 iptables 配置该服务更容易。

如果你切换到Ubuntu,我想你可以直接使用ufw。
输入 ufwallow 8 8 8 0/tcp,然后使用 ufw status 进行确认。
应该没问题。
或者你可以使用iptables,但是记住规则有点烦人。
记得之前在Debian上做过这样的操作,使用iptables-save > /etc/iptables/rules.v4 ,然后将预设的iptables-restore < /etc/iptables/rules.v4 等启动脚本添加到/etc/network/interfaces中,花了很长时间。
现在我使用防火墙感觉更舒服了。

等等,还有别的事。
通过测试后,我发现了一个小细节。
这个Flask应用,如果不使用host='0.0.0.0'而只写port=8 8 8 0,则只能在本地访问。
我以为它会默认监控所有IP地址,但事实证明并非如此。
因此,在配置服务的时候,记得添加这个参数,否则外界将无法访问。
我以为我现在完全明白了,但突然我想,如果公司内网使用了防火墙,这个端口还能访问吗?你得去问隔壁的网络管理员。

Linux 中如何开启端口

linux查看端口是否开启

linux怎么看端口是否开放

说实话,在 Linux 系统中使用 telnet 或 nc(netcat)来检查端口是否开放是非常好用的。
以TomcatSSL默认端口8 4 4 3 为例。
必须和8 08 0的http端口分开看。

我在调试在线服务的时候,遇到了8 4 4 3 端口突然打不开的情况。
当时我直接在虚拟机中执行telnet 1 9 2 .1 6 8 .1 .1 00 8 4 4 3 输入命令后,屏幕就黑了,没有任何反应。
我知道出了什么问题。
过了一会儿,我再查看,发现防火墙规则已经拦截了。
我必须快速添加一条 iptables 规则才能放手。

nc 是一个更简单的工具。
我后来用nc -z 1 9 2 .1 6 8 .1 .1 00 8 4 4 3 来扫描端口。
如果8 4 4 3 打开,命令会直接闪烁,不显示任何内容。
这称为零退出状态。
如果返回“nc:连接到1 9 2 .1 6 8 .1 .1 00端口8 4 4 3 (tcp)失败:连接被拒绝”等错误,则该端口不得打开。

有趣的是,使用 nc 检查多个端口特别有效。
比如我想查看8 08 0、8 4 4 3 、9 000这三个端口,可以直接nc -z 1 9 2 .1 6 8 .1 .1 00 8 08 0 8 4 4 3 9 000,就可以清楚的看到各个端口的状态。
我有一个朋友就喜欢用这个方法来做日常检查。
他写了一个小脚本,每天凌晨自动扫描生产服务器的端口状态,避免出现大混乱。

但是请注意,telnet和nc都只是告诉你端口是否处于“监听状态”,但它们无法确认端口上的服务是死还是活。
例如,服务可能打开了,但代码由于 bug 而崩溃,但 telnet 和 nc 仍然显示端口是打开的。
在这种情况下,您必须使用 netstat -tulnp | grep 8 4 4 3 或 ss -tulnp | grep 8 4 4 3 看看进程号pid是否正确,或者使用curl http://1 9 2 .1 6 8 .1 .1 00:8 4 4 3 看看是否能得到响应。

数据我记得Linux系统默认安装的nc版本是2 .x左右,但是我建议你检查一下你的服务器的具体版本。
不同版本的输出格式可能略有不同。
我个人没有在Windows环境下运行过这个,不过听说Windows下要使用telnet,需要先netsh advfirewall防火墙设置rule group="Telnet Client" new enable=Yes才可以使用。