-
Notifications
You must be signed in to change notification settings - Fork 462
使用经验
UDPspeeder的几乎所有经验在这里都是适用的。
https://github.com/wangyu-/UDPspeeder/wiki/使用经验
绝大多数情况,都是因为配置了不规范的iptables造成的。不能正常连通,请清空两端的iptables后重试。清空后记得用iptable-save检查,确保确实是清空了的。
还有一部分情况是因为你要访问的服务没有bind在0.0.0.0,请用netstat -nlp检查服务器的bind情况。
也有可能是你的udp被本地运营商屏蔽了,在前面串个udp2raw可以解决。
可能是你没有root或cap_net_admin权限,(提示:用非root账号运行tinyfecVPN更安全,具体方法请参考 https://github.com/wangyu-/tinyfecVPN/wiki/run-tinyfecVPN-as-non-root )
也可能是你的设备上面没有这个文件。例如对于lede或openwrt,用opkg安装kmod-tun,安装后会自动出现。 你也可以用包管理器安装个openvpn,因为openvpn依赖kmod-tun,这个设备也会自动被包管理器配好。
绝大多数linux发行版上都是默认建好了/dev/net/tun的,一般只会在lede/openwrt等嵌入式发行版上遇到此问题。在我提供的虚拟机里,也是自带/dev/net/tun的。
在--mode 0
下编码器会自动把数据包切分到合适的长度,所以你可以完全不用考虑MTU。建议新手就用默认的--mode 0
参数不要改。
如果用了--mode 1
,编码器就不会对数据包做切分了,所以会引入MTU问题。 建议使用设置--mtu 1250 --tun-mtu 1250
。
https://github.com/wangyu-/tinyfecVPN/wiki/透过tinyfecVPN免改iptables加速网络
较新的版本的tinyfecVPN可以用--persis-tun
选项,这样创建出来的tun设备就直接是持久型的,不需要额外使用ip tuntap
设置。
用下面这个命令,建立一个持久型的tun设备,叫tun100
ip tuntap add tun100 mode tun
ifconfig tun100 up
然后在tinyfecVPN里用--dev-tun tun100
使用这个持久型tun设备。
需要ip命令支持tuntap,运行ip --help
,如果里面有tuntap字样,就是支持。否则你需要安装完整版的ip命令。
tinyfecVPN是一个极轻量的VPN,比l2tp还轻量,只自带了简单的xor加密。如果你需要AES加密,可以在前面串个udp2raw,这样同时还能获得防重放攻击的能力。
两种常用方法:
-
用
--disable-fec
关掉tinyfecVPN的fec功能,透过tinyfecVPN来ping。(不透过VPN直接ping可能不准确,直接ping是icmp流量,无法反映出UDP的丢包率) -
在两端加上
--report 10
,看发送/接受报告。
细节在UDPspeeder的wiki已经说过,这里不再重复。
udp2raw可以把udp流量伪装成tcp,防止udp被运营商限速或断流。即使发生断流,udp2raw可以检测到这种情况并自动帮你重连。
推荐tinyfecVPN和udp2raw一起使用。连接方式:
tinyfecVPN client---->udp2raw client--------------->udp2raw server---->tinyfecVPN server
udp2raw: https://github.com/wangyu-/udp2raw-tunnel