-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
能否提供arm的预编译版本 #1
Comments
路由器型号是什么?arm也不止一种。 |
树莓派2,kcptun用armv7,谢谢,能提供编译文档甚好,我们自己依葫芦画瓢。 |
另外请教,是否套上这个以后kcptun可以不用加密? |
树莓派的话,你直接在树莓派上sudo apt-get install build-essential 安装好编译环境,然后把代码下载到树莓派,执行make本机编译就可以了,不需要交叉编译。 我手上现在没有树莓派,所以没法这样编译。你先试试,如果不行,晚上我试试能否在电脑上交叉编译个版本给你。
是这样的。 |
好的,刚才我试过直接make失败,这回下完build-essential再试试,谢谢。 |
你好,不知编译是否通过,log如下: |
应该是通过了: usage: common options,these options must be same on both side: |
HI,遇到问题 |
只要ss-redir---->kcptun可行,ss-redir---->kcptun---->udp2raw-tunnel就可行。udp2raw-tunnel对上层来说是透明的。 |
可行的,我一直这么用,今天配置udp2raw-tunnel打不通,不清楚哪出问题,一会我把配置发上来。 |
不用ss-redir,只用udp2raw-tunnel是否可以连通?是否显示了client ready 和server ready? 如果只用udp2raw-tunnel没问题,我怀疑是ss-redir"劫持"了udp2raw-tunnel的流量,造成了环路,你是否有在iptables对udp2raw-tunnel的端口添加例外?你把iptables贴出来,我看一下。 你也可以先尝试使用udp2raw的icmp模式,看是否可以打通,因为ss-redir不会中转icmp,配置起来可能简单些。 |
只用udp2raw-tunnel可以连通,我也怀疑是iptables的问题,稍等。 |
iptables -t nat -N SHADOWSOCKS iptables -t nat -A SHADOWSOCKS -d xx.xx.xx.xx -j RETURN iptables -t nat -A OUTPUT -p tcp -j SHADOWSOCKS |
添加一条iptables命令:
也许可以。我手上没有ss-redir的环境,不能测试。 不过我建议你先试一下 --raw-mode icmp是否可以打通。先排除其他方面的原因,再调试tcp模式 |
ss-redir: kcptun: udp2raw: 好的,一会我试试icmp,上面是配置文件。 |
报告,icmp打通了,配置没有问题,估计就是iptables搞得鬼,我去试试。 |
好的。运营商对icmp也会做qos,长久来说最好用--raw-mode faketcp。 |
坏消息,加了那条iptables依然不通,不过我想起件事情,好像那时实验kcptun-raw正常也没打通过,后来用seq通了,不过时间太久远,我记不太清,今天尝试seq也没打通。 但是kcpraw是可以用的。 |
你运行iptables-save看一下,那条命令是否加在了最前面?直接运行iptables -A是添加在最后面的。 |
最前面的,实际服务器地址也是做了RETURN的。 Chain SHADOWSOCKS (2 references) |
我记下这个问题了。以后我考虑加个功能,让udp2raw在2层发包,绕过iptables,杜绝配iptables的麻烦。 现在udp2raw是在3层发包,2层收包。2层是可以绕过iptables的。在3层发包主要是为了简便。 我在写另一个程序,所以这个功能可能要等一等了。 |
没事的,慢慢来。已经非常感谢了,又多了个选择。感谢感谢! |
我把绕过iptables发包的功能实现了,增加了一个选项 --lower-level,带这个选项以后就是2层发包。 例子:
eth0换成你的默认网络接口,用ifconfig可以查到。 00:23:45:67:89:b9 换成你的网关的mac地址(注意,不是本机的mac地址),用arp命令可以查到。 你的情况应该只要在client端2层发包就可以,server端不需要。代码我已经提交到master里了。 附上我的ifconfig和arp命令的输出,给你参考。
==updated==
运行ip route命令(或route),显示default的那个就是默认网关的ip和接口名。 |
暂时比较麻烦,需要指定接口名和mac。好在这两个参数是固定不变的,设置好了以后就不用改了。 以后这两个参数会自动获取。 |
看明白了,我重新下源码编译测试。再次感谢。 |
报告,还是打不通,另外我想起来了,使用kcpraw时应该是--noseq模式通过。 辛苦了,我一会换另一台服务器尝试,会继续在这反馈,好好休息。 |
这个没关系的。既然你只用udp2raw不用 ssredir能连接,那就不是seq的问题。 还是按照老样子,先试一下 --lower-level模式不用ssredir能不能连通吧。也许你的eth0#00:23:45:67:89:b9这个参数没设置正确,先排除这个问题。 |
你把udp2raw的命令发给我,然后把下面这3个命令的输出发给我。我检查一下。 在运行udp2raw -c的机器上执行。
|
执行一下,arp -a 192.168.88.1 还有你的udp2raw client端的命令参数是什么? |
arp: in 5 entries no match found. /kcptun/udp2raw -c -r 108.x.x.x:27372 -l 192.168.88.26:10800 --seq-mode 0 -k "passwd**" --lower-level eth0#d4:ca:6d:f3:61:f7 -a 192.168.88.26 0.0.0.0都试过 是--raw-mode faketcp 复制粘贴错了 |
我这边输出是这样的。 |
eth0#d4:ca:6d:f3:61:f7 这个应该没有填错。你的client server两端都显示了ready?没有异常输出? |
没有,可以看见正常连接,甚至还有192.168.X.X输出,但就是卡在那,会不会是我用TCP查询DNS惹的祸。 [2017-08-08 00:50:10][INFO]changed state from to client_handshake2 to client_ready 比如这样,就卡在这 |
没有是说没有异常。但是有ready吧? |
没有异常,没报错,两段都没报错。 |
“卡”在这,是正常的。如果连接出异常,心跳会丢失,然后会显示 client state back to idle,server state back to idle。如果你用--log-level 5,会显示心跳的log。 这就尴尬了。。我觉得今晚暂时搞不定了。
多谢反馈问题。我睡了。明天再搞吧。 |
好的,明白。 |
好的,晚安。 |
ss-local失败,罢了,明天再说。 |
我搭了个ss-local的环境试了一下。可以稳定打通。
你的问题可能是kcptun的mtu设大了(我这边试过1400打不通)。你尝试一下把MTU改成 1000(先尽量改小,调通以后再慢慢改大),client和server端都要改。 上面的命令是我执行成功后一条一条copy过来的。如果还是打不通,你可以尝试一下copy我的命令。 |
好的,我这就是试,还是你专业,预感就是MTU的问题了。 |
你是正确的,通了,果然是MTU的问题,ss-redir直接就通了,都不用是ss-local了。 用kcptun默认的1350也是没问题的,优化惹的祸,不是你测试的话,我大概永远也想不到这个问题,呵呵。 感谢啦! |
好,问题解决了就好。我会加上醒目的LOG,报出前端MTU过大的问题。 |
建议MTU设置成1200。MTU越小额外开销越大,但是越稳定。 1200和1400相比,造成的额外开销可以忽略。finalspeed为了稳定性,默认的MTU只有1000,一样不影响他的速度。 |
好的,明白了,已经改1200了。 |
实在不会编译,可否提供,感谢!
The text was updated successfully, but these errors were encountered: