你是不是也遇到过这种情况?刚搭好的 Linux 服务器,明明程序都跑起来了,可外面就是连不上,折腾半天也找不着原因,最后才发现是端口没放通。想知道 Linux 服务器放通端口的方法?别再瞎摸索了,好多小白朋友跟我吐槽过,对着黑框框的命令行就发怵,网上教程要么太复杂,要么步骤不全,试了半天还是不行。今天本人就来给大伙出个实用教程,手把手教你用命令行操作,保证一看就懂,分分钟搞定端口放通,小白也能学会!
先搞明白为啥要放通端口
咱们用 Linux 服务器的时候,不管是搭网站、跑数据库,还是弄个远程连接,都得用到端口。就像家里的门一样,端口没打开,外面的请求进不来,服务自然就没法用。
我之前帮朋友处理过一个事,他在服务器上装了个游戏服务器,自己测试没问题,可朋友想连进来却一直失败,急得不行。后来查了才知道,就是端口没放通,外面的连接根本进不来。所以啊,放通端口这步要是漏了,前面忙活半天都白搭。
不过话说回来,也不是所有端口都得放通,得看你具体用啥服务。比如搭网站常用 80 或 443 端口,远程连接可能用 22 端口,这些是比较常见的。
查看当前端口状态的小技巧
在放通端口之前,最好先看看服务器上现在哪些端口是开着的,哪些是关着的,心里有个数。
最简单的方法是用 netstat
命令,在命令行里输入 netstat -tuln
,回车之后就能看到正在监听的端口了。要是你的服务器上没有这个命令,也别慌,输入 yum install net-tools
(CentOS 系统)或者 apt install net-tools
(Ubuntu 系统)装一个就行。
还有个命令叫 ss
,用法跟 netstat
差不多,输入 ss -tuln
也能看到端口状态。本人感觉 ss
命令反应更快点,不过具体哪个好用,还是看你自己习惯。
用防火墙放通端口的步骤
Linux 服务器上一般都有防火墙,放通端口主要就是在防火墙上做设置。现在常用的防火墙有 firewalld 和 iptables 两种,咱们分别来说说。
要是你的服务器用的是 firewalld,放通端口很简单。比如想放通 80 端口,输入 firewall-cmd --zone=public --add-port=80/tcp --permanent
,然后再输入 firewall-cmd --reload
让设置生效就行。这里的 --permanent
是说重启服务器后设置还能保留,要是忘了加,重启后端口又关上了。
那要是用的是 iptables 呢?输入 iptables -A INPUT -p tcp --dport 80 -j ACCEPT
就能放通 80 端口,不过还得输入 service iptables save
保存设置,不然重启后也会失效。本人觉得 iptables 命令稍微复杂点,新手朋友可能得多试几次才记得住。
验证端口是否放通成功
设置完之后,可别以为就万事大吉了,得验证一下端口到底放通没。
你可以在自己的电脑上打开命令提示符(Windows)或者终端(Mac),输入 telnet 服务器IP 端口号
,比如 telnet 192.168.1.100 80
。要是能连上,说明端口放通成功了;要是连不上,可能就是哪里设置有问题。
另外,也可以用 nmap
命令来扫描端口,输入 nmap 服务器IP
,就能看到服务器上哪些端口是开放的。不过 nmap
可能需要另外安装,具体安装方法可以网上搜搜,这里就不多说了。
可能遇到的问题及解决办法
有时候明明按步骤操作了,端口还是不通,这时候别着急,咱们一步步排查。
最常见的原因是防火墙没设置对,可能是端口号输错了,或者协议选错了(比如该用 tcp 却写成了 udp)。这时候可以重新检查一下防火墙设置命令,看看是不是哪里写错了。
还有可能是服务器上的安全组限制了端口。要是你的服务器是在云平台上买的,比如阿里云、腾讯云这些,除了服务器本身的防火墙,还得在云平台的安全组里放通端口,不然也连不上。至于不同云平台安全组设置的具体差异,本人了解得还不够全面,具体机制可能得进一步研究。
放通端口的注意事项
放通端口虽然不复杂,但也有几点得注意,不然可能会有安全风险。
别一下子放通太多端口,用不上的端口最好关上,不然容易被别人攻击。本人就见过有朋友图省事,把所有端口都放通了,结果服务器被黑了,数据都丢了,特别可惜。
还有就是,放通端口后要定期检查,看看有没有异常连接。可以用 netstat -an | grep 端口号
看看这个端口有哪些连接,要是有陌生的 IP 地址连接,就得提高警惕了。或许这暗示着服务器可能存在安全隐患,得及时处理。
本人的一点心得
玩 Linux 服务器也有几年了,本人觉得放通端口这事儿,看着简单,其实细节挺多的。刚开始学的时候,经常忘这忘那,要么忘了保存设置,要么输错命令,折腾半天才能弄好。
不过多练几次就好了,其实 Linux 命令看着吓人,用熟了之后会发现比图形界面还方便。要是你也是小白朋友,别害怕命令行,多试试,慢慢就上手了。
希望这篇教程能帮到正在为放通 Linux 服务器端口发愁的你,要是还有啥不明白的,欢迎留言问我,本人会尽力解答的。