clowwindy / ShadowVPN

Removed according to regulations.
1.47k stars 1.06k forks source link

About OpenVZ and new script files #135

Closed cdpwdmp closed 9 years ago

cdpwdmp commented 9 years ago

昨天我发了一个Pull request https://github.com/clowwindy/ShadowVPN/pull/134 其中一部分是我把server_up.shserver_down.sh里面的

gw_intf=$(ip route show 0/0 | awk '{print $5}')

改为

gw_intf=$(ip route show 0/0 | awk '{print $3}')

现在改回去了,昨天我只在我的OpenVZ VPS(CentOS 7)上测试了,结果为:

ip route show 0/0 | awk '{print $3}'
venet0
ip route show 0/0 | awk '{print $5}'
link

但是今天我又在本地的VMware中测试了Debian 8,CentOS 7,Fedora 22 Server 然后CentOS 和 Fedora的结果都是

ip route show 0/0 | awk '{print $3}'
10.0.0.1
ip route show 0/0 | awk '{print $5}'
eno167777xx
ip route show 0/0 | awk '{print $3}'
10.0.0.1
ip route show 0/0 | awk '{print $5}'
eth0

所以我的OpenVZ的VPS可能是有点特殊吧 但是0.1.6 Release中的老方法

gw_intf=`ip route show | grep '^default' | sed -e 's/.* dev \([^ ]*\).*/\1/'`

无论是在我的VPS还是在本地各种系统中都可以获得正确的Interface 也许这是一个兼容性更好的方法

clowwindy commented 9 years ago

samples 里的文件只是示例,供用户自己修改的。因为这些脚本没有办法兼容任意系统,我们也没有精力维护不同系统的脚本,我们目前的兴趣只在 VPN 程序本身。

如果有兴趣,欢迎维护各系统 package,如 ShadowVPN-Debian, ShadowVPN-CentOS, etc.

puxxustc commented 9 years ago

最通用的方法:

iptables -t nat -A POSTROUTING -s $net ! -d $net -j MASQUERADE