今天在服务器上开启web服务让别人访问的时候遇到一些问题,在内网中别人使用ip加端口访问的时候一直访问不到,折腾了半天,发现原来使端口没开放
了解到一般linux中端口都是默认关闭的,需要开启的时候需要自己开启
开放端口
由于我的服务器使用的os是Ubuntu,所以这里就介绍一下Ubuntu下的方法,其他linux应该也是大同小异,需要自己去尝试
安装iptables
一般情况下,ubuntu安装好的时候,iptables会被安装上,如果没有的话那就安装上吧
- 安装
在终端输入
$ sudo apt-get install iptables
- 添加规则
在终端输入
$ iptables -I INPUT -p tcp --dport 80 -j ACCEPT
中间的80为所需要开放的端口
- 保存规则
在终端输入
$ iptables-save
完成上述命令我们就完成了开放指定的端口,但是如果此时服务器重启,上述规则就没有了,所以我们需要对规则进行一下持续化操作
持续化规则
这里我们需要在安装一下工具来帮我们实现,这里我们使用 iptables-persistent
- 安装iptables-persistent
$ sudo apt-get install iptables-persistent
- 持久化规则
$ sudo netfilter-persistent save
$ sudo netfilter-persistent reload
完成上述操作就可以永久打开我们需要的端口了
注:
- 上述环境在ubuntu16.04 lts中测试成功
- 上述文字皆为个人看法,如有错误或建议请及时联系我