找回密码
 立即注册
img_loading
智能检测中

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888广告投放联系QQ68610888
查看: 16116|回复: 15

445被封?端口你随便封,访问不了算我输

[复制链接]
发表于 2020-2-8 18:16 | 显示全部楼层 |阅读模式
本帖最后由 Gocigoci 于 2020-2-8 23:48 编辑

端口转发
使用端口转发,可以实现外网访问内网的服务。虽然大家都懂,我还是简单说下。
SMB端口转发案例:44500 -> 445
我们可以设置路由器,把来自外网的对44500端口的访问,转发到内网的服务器的445端口。
当我们访问路由器的公网ip:对外端口时,就好像访问内网机器:服务端口。也就是110.110.110.110:44500自动被端口转发成192.168.1.2:445。
市面上的路由器都支持端口转发,大家根据自己的品牌,可以搜索端口转发教程,我这里以OpenWrt的命令行配置为例。

进OpenWrt路由器,输入以下代码:
cat >>/etc/config/firewall<<EOF

config redirect
        option target 'DNAT'
        option src 'wan'
        option dest 'lan'
        option proto 'tcp udp'
        option src_dport '44500'
        option dest_ip '192.168.1.2'
        option dest_port '445'
        option name 'Forwarding44500'
EOF

/etc/init.d/firewall restart

确认即可实现端口转发。现在,当你从外网访问110.110.110.110:44500时,会自动被端口转发到192.168.1.2:445。也就是:访问路由器的公网ip:对外端口时,就好像访问内网机器:服务端口。

你使用iPhone,安卓甚至是Mac 都可以开开心心的从外网访问内网的Windows服务器里面的服务了。记得把Windows的防火墙打开(方法点我):

然而在远在异地的你,使用Windows却不能访问家里的SMB服务,接下来才是本文重点。

你还需要DNAT
当你使用iPhone连接SMB服务时,可以使用除了445端口外的其他端口。但是Windows是不支持445之外的端口的。端口被封杀,只能端口转发,而端口转发后,Windows又不支持!

幸亏OpenWrt的iptables可以解君愁。

假定你在宿舍访问家里的文件
  • 你(在家里的)服务器使用44500端口提供服务
  • 你(在宿舍)使用OpenWrt类路由器(许多路由固件都是基于OpenWrt源码),支持iptables
  • 你访问了非常规端口44500的服务,但你的应用只支持常规端口445

此时,进路由器,输入如下命令:
iptables -t nat -I PREROUTING -p tcp -d 6.1.1.1 --dport 445 -j DNAT --to 110.110.110.110:44500

解释一下这段代码,当路由器发现局域网内的请求满足以下条件时,自动进行DNAT(目的网络地址转换):
  • 当请求目的ip 为6.1.1.1,且目的端口为445(你也可以改成任意有效的ip地址)时
  • 把目的ip改成110.110.110.110,端口改成44500,这里是服务器所在路由器的外网ip,你要改成自己的
  • 反过来。当收到来自110.110.110.110:44500的包时,自动修改成6.1.1.1:445

这里假定宿舍的Windows局域网地址为192.168.1.5(你可以改成自己的);在宿舍的Windows映射网络驱动器窗口中输入地址\\6.1.1.1,即可以访问家里110.110.110.110:44500的服务。
当你的服务只能使用特定端口时,都可以利用OpenWrt的iptables来解决这个问题。

有朋友可能想随时掌握家里路由的ip地址,看这个恩山帖子https://www.right.com.cn/FORUM/thread-2113606-1-1.html

只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
发表于 2020-2-8 18:27 | 显示全部楼层
感谢分享的了。。
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2020-2-8 18:49 | 显示全部楼层
                                思考           思考
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-8 21:06 | 显示全部楼层
恩山排版太难了,希望支持Markdown
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2020-2-8 22:58 | 显示全部楼层
感谢大神分享,在公司一直搞不定这个,回头上班试试这个思路,我在公司电脑上装了虚拟机lede
,感谢大佬
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2020-2-8 23:01 | 显示全部楼层
我就是家里公网ip封了,用33333转发445,手机nPlayer 可以访问smb,公司电脑就不行,好思路,回头就试试
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-9 00:41 | 显示全部楼层
审核有点慢啊…
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2020-2-9 04:38 来自手机 | 显示全部楼层
一般家里的IP都是动态IP,不像例子里面的静态IP6.1.1.1,怎么弄?

点评

6.1.1.1是我随意指定的,其他有效ip也可  详情 回复 发表于 2020-2-9 08:30
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-9 08:30 | 显示全部楼层
funison 发表于 2020-2-9 04:38
一般家里的IP都是动态IP,不像例子里面的静态IP6.1.1.1,怎么弄?

6.1.1.1是我随意指定的,其他有效ip也可

点评

动态IP会变,每次访问家里需要先查IP然后改iptables然后再连吗?有没有简单点的方式,好像听说在家里路由器设置源地址转换能解决,能不能指点一下  详情 回复 发表于 2020-2-9 18:22
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2020-2-9 09:23 | 显示全部楼层
思考了。谢谢分享。
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2020-2-9 18:22 | 显示全部楼层
Gocigoci 发表于 2020-2-9 08:30
6.1.1.1是我随意指定的,其他有效ip也可

动态IP会变,每次访问家里需要先查IP然后改iptables然后再连吗?有没有简单点的方式,好像听说在家里路由器设置源地址转换能解决,能不能指点一下

点评

看我帖子最后一句话。  详情 回复 发表于 2020-2-10 16:32
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-10 16:32 | 显示全部楼层
funison 发表于 2020-2-9 18:22
动态IP会变,每次访问家里需要先查IP然后改iptables然后再连吗?有没有简单点的方式,好像听说在家里路由 ...

看我帖子最后一句话。

点评

刚看了,貌似是通过脚本来实现,我原本以为可以masquerade那条命令  详情 回复 发表于 2020-2-10 18:26
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2020-2-10 16:38 | 显示全部楼层
思考了,谢谢楼主分享
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2020-2-10 18:26 | 显示全部楼层
Gocigoci 发表于 2020-2-10 16:32
看我帖子最后一句话。

刚看了,貌似是通过脚本来实现,我原本以为可以masquerade那条命令
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2024-3-31 20:22 | 显示全部楼层
遇到了一样的情况,被访问端是op路由装lucky插件实现ipv6动态DNS域名解析,然后用端口转发避开445,目前能实现安卓NPLAYER和MIX文件管理器ipv6下域名:44500的方式访问SMB,但是安卓的ES不行,WIN10也不行,看了你的帖子,iptables 是在访问端的OP路由的防火墙自定义规则里添加iptables 命令行吗?添加的请求目的IP得是访问端同网段的IP地址吧?比如我的192.168.31.X,目的IP我没有,我是直接域名加端口号,我将这段命令添加到自定义规则后仍然不行,iptables -t nat -I PREROUTING -p tcp -d 192.168.31.X --dport 445 -j DNAT --to 自己的域名:44500,能否指点一下哪里出了问题,我现在域名+端口号的方式,win10远程桌面,安卓手机公网nplayer都正常通,唯独win10文件浏览器不通
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛

只谈技术、莫论政事!切勿转播谣言!为了你也为了他人。
只谈技术、莫论政事!(点击见详情) 切记不要随意传播谣言,把自己的日子过安稳了就行,为了自己好也为了大家好。 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。

查看 »

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2025-6-1 06:41

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com

快速回复 返回顶部 返回列表