找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 16650|回复: 55

[求助]padavan端口映射时防火墙应该如何设置[已解决]

[复制链接]
发表于 2019-10-19 13:24 | 显示全部楼层 |阅读模式
本帖最后由 nossr 于 2019-10-19 21:18 编辑

在ago大佬的帮助下终于是解决了这个问题
总结一下,也方便给后来的人提供点帮助
我的使用场景是这样的,手里没有ipv4公网ip有动态的ipv6公网ip想通过公网访问路由器里的可道云等服务。
首先需要让公网的访问能够穿透防火墙,所以需要用类似ip6tables -A INPUT -p tcp --dport 88 -j ACCEPT 等命令设置防火墙。
可以通过ip6tables -nL查看防火墙允许通过的情况
之后需要看使用场景,好像这里的可道云只有ipv4的服务,所以即使是我把防火墙关掉了也是不能通过公网ipv6访问可道云
因此需要使用socat将原本ipv6的指令映射到ipv4上(注意,这两个端口不能相同!!!
可以用netstat -an | grep LISTEN查看端口监听的情况
我用的命令如下,可以参考下:
1、安装socat
opkg update
opkg install socat

2、设置防火墙
ip6tables -A INPUT -p tcp --dport 88 -j ACCEPT
ip6tables -A OUTPUT -p tcp --dport 88 -j ACCEPT
ip6tables -A INPUT -p udp --dport 88 -j ACCEPT
ip6tables -A OUTPUT -p udp --dport 88 -j ACCEPT

3、(可选)设置ipv6到ipv4映射
nohup socat TCP6-LISTEN:8848,reuseaddr,fork TCP4:192.168.123.1:88 &
nohup socat UDP6-LISTEN:8848,reuseaddr,fork UDP4:192.168.123.1:88 &

4、查看防火墙及端口监听情况
ip6tables -nL
netstat -an | grep LISTEN


———————————————————————原问题———————————————————————————
目前有动态公网ipv6,使用ipv6测试有时提示大数据包传输测试不过,有时可以,打算是使用qcloud解析腾讯云的域名。
遇到问题是设置了端口转发不起作用,感觉上是防火墙的设置问题。
例如通过192.168.123.1:81和88分别访问默认主页和可道云是可以的,而使用[2409:*:*:*:*:*:*:*]:80,81:88访问路由器则是可以访问路由器管理页面,但是81访问默认主页,88访问可道云都提示拒绝了连接请求。
查看路由器防火墙设置发现里面允许外网访问的80,21ftp,和aira都可以通过公网ipv6的方式进行访问。
端口转发设置如下:

使用iptables --list查看结果如下:

各位帮忙看下应该怎么设置才能使得端口转发生效,从而能够从外网访问可道云呢?
搜帖子的时候看到有人说好像和版本有关,我还特地更新了下版本,目前的版本是3.4.3.9-099_9-9-23,还是没用



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2019-10-19 18:15 | 显示全部楼层
大佬们,是不是ipv6本来就不用端口转发的啊,我都把防火墙关了,还是不好使。。。
这个是日志,如果不是防火墙的锅那又是啥问题嘞
Oct 19 18:10:57 crond[28852]: crond (busybox 1.29.3) started, log level 8
Oct 19 18:11:35 RT-N56U_B1: Hardware NAT/Routing: Enabled, IPoE/PPPoE offload [WAN]<->[LAN/WLAN]
Oct 19 18:11:35 RT-N56U_B1: Hardware NAT/Routing: IPv4 UDP flow offload - ON
Oct 19 18:11:35 RT-N56U_B1: Hardware NAT/Routing: IPv6 routes offload - ON
Oct 19 18:11:35 【防火墙规则】: 脚本完成
Oct 19 18:11:35 【自定义脚本0】: 脚本完成
Oct 19 18:11:35 【WebUI】: UI 开关遍历状态监测
Oct 19 18:11:40 【opt】: opt 挂载正常:/dev/sda1
Oct 19 18:11:43 【SS】: 检测2:找不到 SS_SPEC 转发规则, 重新添加
Oct 19 18:11:43 【SS】: 设置 SS 的防火墙规则
Oct 19 18:11:44 【SS】: 出国模式
Oct 19 18:11:44 【SS】: 设置内网(LAN)访问控制
Oct 19 18:11:44 【SS】: udp53端口(DNS)地址重定向为 192.168.123.1 强制使用重定向地址的DNS
Oct 19 18:11:44 【SS】: DNS程序 0 模式: 0 【0走代理 1直连】
Oct 19 18:11:44 【SS】: 外网(WAN)访问控制,设置 WAN IP 转发或忽略代理中转
Oct 19 18:11:46 【SS】: 完成 SS 转发规则设置
Oct 19 18:11:47 【默认主页】: 默认服务网站允许远程访问, 允许 81 端口通过防火墙
Oct 19 18:11:47 【芒果云】: 允许远程访问, 允许 88 端口通过防火墙
Oct 19 18:11:47 crond[578]: crond (busybox 1.29.3) started, log level 8
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2019-10-19 18:20 | 显示全部楼层
我在日志里没有发现UPnP的提示,我在想是不是UPnP没开起来的问题,大佬们,正常防火墙规则后面是不是应该跟着UPnP啊
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-10-19 19:28 | 显示全部楼层
内网的服务通过ipv6访问,需要穿透防火墙,否则外网也使用不了的。

采用ip6tables命令实现:
开放端口(需要执行两条命令):
ip6tables -A INPUT -p tcp --dport 80 -j ACCEPT
ip6tables -A OUTPUT -p tcp --dport 80 -j ACCEPT

ip6tables -A INPUT -p udp --dport 8080 -j ACCEPT
ip6tables -A OUTPUT -p udp --dport 8080 -j ACCEPT

#查看IPV6的端口开放情况:
ip6tables -nL

你应该会看到开放的tcp80和udp8080端口了。

删除端口映射:
ip6tables -A INPUT -p tcp --dport 80 -j DROP
ip6tables -A OUTPUT -p tcp --sport 80 -j DROP
ip6tables -A INPUT -p udp --dport 8080 -j DROP
ip6tables -A OUTPUT -p udp --sport 8080 -j DROP

随机启动,需要在自定义脚本里面,添加上述添加端口映射的命令,否则重启就没有了。

亲测可用,我现在就这么用着。

点评

您好,我也刚换了刷padavan固件的路由器,发现以前一直外网通过IPV6访问内网服务器不能用了,在网上搜索到您的办法。现在在外,还没有办法测试。请问:自己需要外网IPV6访问所要用到的端口是不是必须全部添加到自定  详情 回复 发表于 2020-12-10 10:29
感谢大佬回复,我试着添加了81端口的input output的tcp和udp命令,使用ip6tables -nL也看到新加的端口了然而还是不能访问。。  详情 回复 发表于 2019-10-19 19:40
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2019-10-19 19:40 | 显示全部楼层
本帖最后由 nossr 于 2019-10-19 19:44 编辑
ago 发表于 2019-10-19 19:28
内网的服务通过ipv6访问,需要穿透防火墙,否则外网也使用不了的。

采用ip6tables命令实现:


感谢大佬回复,我试着添加了81端口的input output的tcp和udp命令,使用ip6tables -nL也看到新加的端口了然而还是不能访问。。论坛里有说使用socat可以把ipv6端口映射到内网ipv4端口上,这个也不行。。甚至直接把防火墙整个关了都不成,感觉整个人都不好了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

点评

ago
netstat -an | grep LISTEN 用这个命令看一下端口开放情况。 ip6tables命令是把内网的服务端口穿透防火墙,开放给外网。 socat是让外网通过ipv6访问内网的某个端口服务。 我把内网的iptv服务放给外网用,是这  详情 回复 发表于 2019-10-19 19:54
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-10-19 19:54 | 显示全部楼层
本帖最后由 ago 于 2019-10-19 20:06 编辑
noS-S R 发表于 2019-10-19 19:40
感谢大佬回复,我试着添加了81端口的input output的tcp和udp命令,使用ip6tables -nL也看到新加的端口 ...

netstat -an | grep LISTEN
用这个命令看一下端口开放情况。

ip6tables命令是把内网的服务端口穿透防火墙,开放给外网。
socat是让外网通过ipv6访问内网的某个端口服务。
我把内网的iptv服务放给外网用,是这样弄的。

先用socat转发ipv6给内网的ipv4服务端口。
nohup socat TCP6-LISTEN:40088,reuseaddr,fork TCP4:192.168.123.1:88 &
nohup socat UDP6-LISTEN:40088,reuseaddr,fork UDP4:192.168.123.1:88 &

然后用ip6tables命令,把40088端口穿透防火墙。
然后外网通过ipv6+40088端口就可以访问192.168.123.1:88的服务了。

目前我的IPTV服务就这么干的。
你的81,88端口用不了,应该是查看端口监听里面,192.168.123.1的81,88服务是开启了的。
用上面的方法试试。


我的理解是这样的,内网如果仅是提供ipv4的端口服务,就需要用socat把ipv4端口服务转到ipv6监听去供外网访问。(如果不能访问,就把这个ipv6端口穿透防火墙)
如果内网提供ipv6的服务,只需要将ipv6的端口穿透防火墙即可。

点评

请教一下,如果我的服务是搭建在 192.168.123.254:9000 上的呢?应该如何设置才能通过 该主机的 ipv6访问呢? 如果这样设置: nohup socat TCP6-LISTEN:40088,reuseaddr,fork TCP4:192.168.123.254:9000 & nohup s  详情 回复 发表于 2019-12-26 10:08
哦哦 明白了,ip6tables是用来让访问能够穿透防火墙的,socat是用来把ipv6映射到ipv4上的 我用netstat -an | grep LISTEN命令看了下,发现81端口压根没监听啊,只有80 6800 1:53号端口,难怪之前测试的时候网页能  详情 回复 发表于 2019-10-19 20:08
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2019-10-19 20:08 | 显示全部楼层
本帖最后由 nossr 于 2019-10-19 20:10 编辑
ago 发表于 2019-10-19 19:54
netstat -an | grep LISTEN
用这个命令看一下端口开放情况。

哦哦 明白了,ip6tables是用来让访问能够穿透防火墙的,socat是用来把ipv6映射到ipv4上的
我用netstat -an | grep LISTEN命令看了下,发现81端口压根没监听啊,只有80 6800 1:53号端口,难怪之前测试的时候网页能打开,aria2也能连上,ftp也能用。
您觉得为啥端口会没开放呢


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

点评

ago
81,88那些端口的服务软件好像仅提供ipv4的服务,我也不知道为什么有些服务ipv4和ipv6服务都有,有些服务就没有。 反正我研究的方法就能解决这个问题。 就想做个S-S R的服务,因为没有公网ipv4地址,只能用ipv6来  详情 回复 发表于 2019-10-19 20:17
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-10-19 20:17 | 显示全部楼层
本帖最后由 ago 于 2019-10-19 20:22 编辑
noS-S R 发表于 2019-10-19 20:08
哦哦 明白了,ip6tables是用来让访问能够穿透防火墙的,socat是用来把ipv6映射到ipv4上的
我用netstat - ...

81,88那些端口的服务软件好像仅提供ipv4的服务,我也不知道为什么有些服务ipv4和ipv6服务都有,有些服务就没有。
反正我研究的方法就能解决这个问题。

就想做个S-S R的服务,因为没有公网ipv4地址,只能用ipv6来做服务,做出来的服务不穿透防火墙,就用不了。
我的经验是,ipv6端口的服务需要用ip6tables命令穿透防火墙,否则外网用不了。

点评

我目前使用socat 命令之后netstat -an | grep LISTEN发现还是没有监听ipv6的88端口。。这个是socat命令出问题了吗 nohup socat TCP6-LISTEN:88,reuseaddr,fork TCP4:192.168.123.1:88 & nohup socat UDP6-LISTEN:  详情 回复 发表于 2019-10-19 20:47
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2019-10-19 20:47 | 显示全部楼层
本帖最后由 nossr 于 2019-10-19 20:49 编辑
ago 发表于 2019-10-19 20:17
81,88那些端口的服务软件好像仅提供ipv4的服务,我也不知道为什么有些服务ipv4和ipv6服务都有,有些服务 ...

我目前使用socat 命令之后netstat -an | grep LISTEN发现还是没有监听ipv6的88端口。。这个是socat命令出问题了吗,不知道还有没别的映射的办法
我的命令是这样的:ip6tables -A INPUT -p tcp --dport 88 -j ACCEPT
ip6tables -A OUTPUT -p tcp --dport 88 -j ACCEPT
ip6tables -A INPUT -p udp --dport 88 -j ACCEPT
ip6tables -A OUTPUT -p udp --dport 88 -j ACCEPT
nohup socat TCP6-LISTEN:88,reuseaddr,fork TCP4:192.168.123.1:88 &
nohup socat UDP6-LISTEN:88,reuseaddr,fork UDP4:192.168.123.1:88 &


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

点评

ago
不能都用88端口,ipv4是88端口,那么ipv6端口换其他数字就行了,比如30088即可。 以后外网通过30088端口访问内网的88服务就行了。  详情 回复 发表于 2019-10-19 20:57
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-10-19 20:57 | 显示全部楼层
nossr 发表于 2019-10-19 20:47
我目前使用socat 命令之后netstat -an | grep LISTEN发现还是没有监听ipv6的88端口。。这个是socat命令出 ...

不能都用88端口,ipv4是88端口,那么ipv6端口换其他数字就行了,比如30088即可。
以后外网通过30088端口访问内网的88服务就行了。

点评

大佬您太强了,没您的帮助我这还不知道要搞多久呢 终于能够愉快地上网冲浪了 太感谢您了  详情 回复 发表于 2019-10-19 21:02
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2019-10-19 21:02 | 显示全部楼层
ago 发表于 2019-10-19 20:57
不能都用88端口,ipv4是88端口,那么ipv6端口换其他数字就行了,比如30088即可。
以后外网通过30088端口 ...

大佬您太强了,没您的帮助我这还不知道要搞多久呢
终于能够愉快地上网冲浪了
太感谢您了

点评

ago
搞定了????  详情 回复 发表于 2019-10-19 21:10
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-10-19 21:10 来自手机 | 显示全部楼层
nossr 发表于 2019-10-19 21:02
大佬您太强了,没您的帮助我这还不知道要搞多久呢
终于能够愉快地上网冲浪了
太感谢您了

搞定了????

点评

嗯嗯,可以用我的域名访问可道云了,开心  详情 回复 发表于 2019-10-19 21:15
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2019-10-19 21:15 | 显示全部楼层
ago 发表于 2019-10-19 21:10
搞定了????

嗯嗯,可以用我的域名访问可道云了,开心

点评

ago
嗯,我也是自己摸索了很久才学会这一招的。  详情 回复 发表于 2019-10-19 21:20
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-10-19 21:20 来自手机 | 显示全部楼层
nossr 发表于 2019-10-19 21:15
嗯嗯,可以用我的域名访问可道云了,开心

嗯,我也是自己摸索了很久才学会这一招的。

点评

大佬,想问下您怎么设置重启后自动执行转发命令的,我直接把我设置的一堆丢到自定义-脚本-重启后执行里面发现不起作用,我实际在shell命令行里执行socat 转发的时候发现即使是采用了nohup ... &的方式这个命令也不是  详情 回复 发表于 2019-10-21 19:02
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-10-21 15:44 | 显示全部楼层
受益匪浅, 请问楼主重启后规则消失怎么办呢?

点评

ago
在自定义脚本里面加命令进去就好了。  详情 回复 发表于 2019-12-7 09:17
其实我目前也在研究这个,烦人的还有就是每次我重启之后ipv6地址都会变,解析我的域名常常要10分钟以上。。所以我把路由器的自动重启关了  详情 回复 发表于 2019-10-21 18:54
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-18 19:27

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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

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