其实目的是为了转发 anyConnet , tcp 转发有很多办法, haproxy 或者 socat 都行。
但是 udp 就是不行。现象就是, anyConnet 连上了,但是访问 twitter 或者 m.facebook.com 就会停在那里。
也用微林的服务,效果很好,想实现和微林端口转发一样的功能,现在就卡在 udp 转发上了。
尝试了 iptables 转发,似乎不行,发现阿里云的 iptables 没什么作用,开启以后,只设置了 22 ,和 80 ,结果其他端口依然可以有出入的流量。
不知道大家有没有在阿里云上成功的方法。
udp ……
转发 udp 也可以用 socat ,搜一下就有例子
$ sudo socat UDP4-RECVFROM:161,fork UDP4-SENDTO:localhost:10161
发帖之前已经试过了,可以转发 dns 53 端口,但是 anyconnet 还是不行。很神奇
anyconnect ……不是 TCP 么= =
anyconnect 可以 block udp 连接来让它单纯走 tcp 的吧。。。。
搞个 vpn 就行了啊。。。
docker hub 上有一个 Tommylau 的用户制作了一个 ocserv 镜像,看启动命令可以支持 UDP 转发,楼主可以去翻翻 Dockerfile
但是我用来玩 steam 的 robocraft ,一开局就掉线,不知道是否 UDP 有问题
我搜一下, anyconnet 好像不只是 tcp 的,有 dns 解析走 udp 的,否则 dns 还是本地。会被污染
其实 Tommylau 也在 V2EX ,但似乎很久不上了,@他也没回应
然后我把 docker 架在香港服务器上,理论 UDP 没文体的话,应该是可以畅玩游戏的。
但事实就是 robo craft 一开局,游戏里就会显示已经断线(一开局就黑屏,过一会返回大厅)
玩游戏的环境: Mac ,用 anyconnect 的 Mac 客户端
没找到,这是什么东西
注释 ocserv 配置文件夹里的 UDP-PORT...
全走 tcp
现在就超级好奇,微林是怎么实现 tcp + udp 的转发的,用下来效果真的很好, socat + 阿里云就是不行
找文档看看
这个我试试
很多本地运营商对 UDP 发包限制很严格的,先看看是不是 ISP 的问题
tcp over tcp 真的好吗? vpn 很少用 tcp 是有原因的,效率低得多啊。
测试可行,很赞!
我认为可能你说的是对的
运营商对很多 UDP 连接有控制的
你应该要考虑运营商的影响。
那就转发 openvpn 算了
试过了, ios 8.4 可以, ios 9 不可以, socat !
但是微林可以。
这是为什么啊!
感谢告知。
阿里云用 iptables 做 udp 转发,我测试过是可以用的
为什么不自己写一个转发的程序?如果有编程基础的话不难吧?
求具体的配置,我配置完以后测试防火墙没有拦截其他的端口
ip forward 打开了吗? sudo iptables-save 看一下现有的防火墙
iptables 就可以完成 udp 转发
```
server_ip=YOUR-SERVR-IP
iptables -t nat -A PREROUTING -p udp --dport 443 -j DNAT --to-destination $server_ip:443
iptables -t nat -A POSTROUTING -p udp -d $server_ip --dport 443 -j MASQUERADE
service iptables-persistent save
```
UDP 转发需要看 ISP 和机房的脸色,出于防御 DDOS 和安全以及和谐的考虑,多多少少都有限制。
假设阿里云为 8.8.8.8 境外那台为 4.4.4.4
假设阿里云 TCP 端口为 4443 , UDP 端口为 4000 ,境外服务器 tcp443 , udp8000
我按照这个可以正常转发 Anyconnect 也是用的阿里云
iptables -t nat -A PREROUTING -p tcp --dport 4443 -j DNAT --to-destination 4.4.4.4:443
iptables -t nat -A PREROUTING -p udp --dport 4000 -j DNAT --to-destination 4.4.4.4:8000
iptables -t nat -A POSTROUTING -p tcp -d 4.4.4.4--dport 443 -j SNAT --to-source 8.8.8.8
iptables -t nat -A POSTROUTING -p udp -d 4.4.4.4--dport 8000 -j SNAT --to-source 8.8.8.8
根据你这个我再试试
tcp 和 udp 能设置成一个端口么?比如 443
可以啊, udp 和 tcp 是独立的,可以同时设置为 443
我就是按照你的设置了 但是没有成功
iptables -t nat -A PREROUTING -p tcp --dport 1000 -j DNAT --to-destination 153.92.41.**:1000
iptables -t nat -A PREROUTING -p udp --dport 1000 -j DNAT --to-destination 153.92.41.**:1000
iptables -t nat -A POSTROUTING -p tcp -d 153.92.41.** --dport 1000 -j SNAT --to-source 47.89.24.**
iptables -t nat -A POSTROUTING -p udp -d 153.92.41.** --dport 1000 -j SNAT --to-source
我也遇到同样的问题,请问现在你是怎么解决的?
是阿里云么?如果是, iptables 规则正确就可以做到
不是 其他的 输入了不行
我也在玩 robocraft 哈哈哈