前言
公司软件开发需要一台可以外网访问的服务器。于是需要配置路由器的端口转发。在配置中,掉到一个坑里。脑壳都想疼了,依旧没能解决。今天在联系路由器方的技术人员后,问题解决了。特记录一下。
问题描叙
如何进行端口转发的配置,百度一大堆。各种路由器的菜单也不一样,这里不一一罗列。
我们配置的是 访问指定外网的ip的任意端口都转发到内网某个ip地址上。
8080和80 由于电信屏蔽,我们使用了18080和180 进行 端口映射。
配置后的情况如下:
我们可以使用win7自带的远程连接控制内网的电脑。说明 3389端口转发成功。
我们在内网电脑上配置了nginx,使用了8080端口。 外部访问 xxx:18080 也可以访问nginx页面。
内网电脑配置了mysql数据库。使用3306端口,外部访问 xxx:3306 也可以访问。
开始掉坑了,我们测试其他端口。使用了telnet命令。
例如
telent xxxxip 8888
telent xxxxip 9999
telent xxxxip 1111
结果都是
$ telnet 122.224.226.xxx 9999
Trying 122.224.226.xxx...
telnet: connect to address 122.224.226.xxx: Connection refused
telnet: Unable to connect to remote host
此时我们陷入困惑,以为配置存在问题。各种修改,依旧不行,有些怀疑人生。
问题解决
今天上午联系对方技术人员,得知原因。
被拒绝连接是因为内网电脑没有对应的服务,端口没有开启。
于是编写一段java代码,打包成jar 在内网电脑上监听 8888端口。
java -jar helloworlddemo.jar 8888
此时再使用
telent xxxip 8888
结果如下:
$ telnet 122.224.226.xxx 8888
Trying 122.224.226.xxx...
Connected to 122.224.226.xxx.
Escape character is '^]'.
表示连接成功。端口是开放的。
修改为其他端口,重复操作,依旧成功。问题解决。
网友评论