一般来说linux系统都会有网络防火墙设置,如果防火墙关闭,那么只要linux上某个端口起了某个服务,那这个端口就能telnet的通,telnet某个端口能通的前提是这个端口起了服务,并且防火墙允许该端口的访问。

将某个端口设置能通过防火墙的方法如下:

这里以开放tomcat的8080端口为例

1.开放Linux的8080端口

vi /etc/sysconfig/iptables
进入编辑页面,在指定位置新增以下配置

-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
这句要放在 -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT 后面

修改后的整体为下面所示


# Generated by iptables-save v1.4.7 on Wed Mar 22 17:51:24 2017
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0] 
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A INPUT -p icmp -j ACCEPT 
-A INPUT -i lo -j ACCEPT 
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT  
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT  
-A INPUT -j REJECT --reject-with icmp-host-prohibited 

-A FORWARD -j REJECT --reject-with icmp-host-prohibited

COMMIT
# Completed on Wed Mar 22 17:51:24 2017

2.修改完保存退出,重启网卡服务

service iptables restart
3.查看端口开放信息

service iptables status


一般服务器能看到开放信息就算成功开放了。

4.如果是虚拟机系统,想要主机对其进行访问,需要设置端口转发,以VirtualBox为例

点击“设置”>"网络">"高级">“端口转发”>新增转发规则 具体如下图

点击ok对设置进行保存。

5.使用ip:port方式对服务进行检测,出现了tomcat主页,证明已经开放成功。


判断某个端口是否起了服务

netstat -anp |grep "要查看的端口号" ,如netstat -anp |grep "9001",我在9001起了个服务


如果9001在/etc/sysconfig/iptables 中设置了可以通过防火墙的话,因为该又起了服务,那该网段的其他计算机就能telnet通 该机器的 9001端口。也可以在本机上telnet localhost 9001还查看9001是否能被telnet通。 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐