家里是移动网络,移动很贴心的给了ipv6,能ping,但是不能监听

我用好基友电信的网测试的Linux服务器验证,很遗憾,只能ping

我写了个Python脚本来验证,发现不能当服务器用(代码贴在后面)

网上大把人的ipv6是能用的,也搜不到相关的问题
这个问题一直让我百思不得其解,无意中想起来是不是路由器防火墙在搞鬼,因为我家是路由器拨号,光猫桥接
然后我把路由器的ipv6防火墙关了,我是小米的路由器,用的ssh关的,代码是
ip6tables -F ip6tables -X
ip6tables -P INPUT ACCEPT
ip6tables -P OUTPUT ACCEPT
ip6tables -P FORWARD ACCEPT 然后就可以用了

襄阳移动很良心,居然没封80端口,特地注明,2023.08.09,欢迎留言

服务端代码
# -*- coding: utf-8 -*-
import socket
from threading import Thread
def nlink(links):
print (addr);
while True:
date=links.recv(10240);
if not date:
break
print(date.decode('utf-8'));
links.close();
sock = socket.socket(socket.AF_INET6, socket.SOCK_STREAM)
sock.bind(('2409:8a4c:5212:6c50:8594:xxxx:xxxx:xxxx',2333))
sock.listen(5);
while True:
link,addr = sock.accept();
thread=Thread(target=nlink,args=(link,))
thread.start()
客户端代码
# -*- coding: utf-8 -*-
import socket
ip_port = ("2409:8a4c:5212:6c50:8594:xxxx:xxxx:xxxx",2333)
s = socket.socket(socket.AF_INET6, socket.SOCK_STREAM, 0)
s.connect(ip_port)
msg="这是个消息"
s.sendall(msg.encode('utf-8'))
s.close() 上面四行代码不能永久解决问题,可以进入SSH修改小米路由器防火墙
```vi /etc/config/firewall``` 把这些REJECT改为ACCEPT
config defaults
option forward 'REJECT'
config zone
option input 'REJECT'
option forward 'REJECT' 重启防火墙永久解决问题
/etc/init.d/firewall restart