|
本帖最后由 pany4321 于 2021-4-27 09:13 编辑
最近入手了一台K3,刷了梅林。虽然梅林固件中,web管理应用不支持ipv6,但是你这个还是有解决方案的。可以用socat(梅林固件自带,位于/usr/sbin目录下,如果没有可以自己安装)做端口转发来实现。
1、设置socat 端口转发,并让其开机自启动
将如下命令放到开机启动脚本/jffs/script/firewall-start.sh(没有这个名字的脚本就自己创建一个,名字必须一致。自己新创建的话,注意要给脚本文件执行权限。这个脚本如果存在,将会在防火墙启动的时候自动执行)。
假设你的路由器内网IP地址为192.168.2.1,可以在脚本中设置命令如下:
nohup /usr/sbin/socat TCP6-LISTEN:8080,reuseaddr,fork TCP4:192.168.2.1:80 >/dev/null 2>&1 &
执行这个脚本后,将会在路由器上启动一个IPV6监听端口8080,并建立这个端口到路由器内网ipv4地址80端口的映射。
你通过ipv6网络用http访问路由器的8080端口时,将自动转发到路由器内网的80端口上(路由器的管理地址)。
2、配置防火墙ipv6访问规则,允许远程通过ipv6访问路由器WAN口(一般是ppp0)8080端口梅林固件默认是禁止从WAN口访问路由器的,需要设置防火墙规则,这个规则也放到开机启动脚本/jffs/script/firewall-start.sh当中
命令如下:
ip6tables -I INPUT -i ppp0 -p tcp -m tcp --dport 8080 -j ACCEPT
完成上面两步,启用路由器管理界面中的IPV6防火墙,就可以ipv6远程管理路由器了。不要管路由器管理界面上的防火墙的具体规则设置,没有用。只要将步骤2中的命令放到启动脚本中即可。
多说两句,可以先用下面两条命令测试,测试通过后,再写入上面的自启动脚本。
ip6tables -I INPUT -i ppp0 -p tcp -m tcp --dport 8080 -j ACCEPT
socat TCP6-LISTEN:8080,reuseaddr,fork TCP4:192.168.2.1:80
脚本中几个特殊参数的含义:
1、nohup 意思是脚本不会被中断。
2、>/dev/null 2>&1 意思是将nohup的日志输出全部重定向到虚拟设备/dev/null(nohup会自动输出运行日志到当前目录的 nohup.out 文件中,可以认为/dev/null是个无底洞,任何输入都会消失无踪),否则路由器的存储空间很容易被日志灌满。
3、最后一个& 表示让socat后台运行,否则一旦关闭当前终端窗口,进程就关闭了。
|
|