V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  s7lx  ›  全部回复第 12 页 / 共 12 页
回复总数  230
1 ... 3  4  5  6  7  8  9  10  11  12  
2014-08-11 15:03:08 +08:00
回复了 1314258 创建的主题 Linux 路由能 iptables 某个机器所有数据到另一个机器的某端口么?
可以。

我的方案效果和你想通,但思路不太一样,如下:
局域网内有家用路由器192.168.2.1,肩负网关、DHCP等众多任务
运行了一个192.168.2.5的Debian,内有ss-redir一个
所有用户DHCP获取192.168.2.0/24 其他的IP地址,要求完全透明的翻墙。

首先在DHCP上配置DNS和网关地址为192.168.2.5,这样所有人的数据默认都会先发到这台设备上,DNS也会从这里解析(DNS如何避免污染另谈)
接着打开192.168.2.5上的IPv4数据转发
sudo echo net.ipv4.ip_forward=1 >> /etc/sysctl.conf
sudo sysctl -p
这样所有的数据都从192.168.2.5这里通过了,这是科学上网的基础:让所有数据通过那台设备走。
确保192.168.2.5的下一跳是192.168.2.1 直接在/etc/network/interfaces里直接指定
iface eth0 inet static
address 192.168.2.5
netmask 255.255.255.0
gateway 192.168.2.1

确保结果如下
===============
$ traceroute www.sina.com.cn
traceroute: Warning: www.sina.com.cn has multiple addresses; using 58.63.236.37
traceroute to ara.sina.com.cn (58.63.236.37), 64 hops max, 52 byte packets
1 192.168.2.5 (192.168.2.5) 1.645 ms 1.134 ms 1.077 ms
2 192.168.2.1 (192.168.2.1) 1.541 ms 1.496 ms 1.349 ms
以下省略
===============

然后启动ss-redir到12345端口
接着
sudo iptables -t nat -N SHADOWSOCKS
sudo iptables -t nat -A SHADOWSOCKS -p tcp -d 8.8.8.0/24 -j REDIRECT --to-ports 12345
sudo iptables -t nat -A PREROUTING -p tcp -j SHADOWSOCKS
sudo iptables -t nat -A OUTPUT -p tcp -j SHADOWSOCKS

这样所有访问8.8.8.0/24的数据都走Debian的12345端口的shadowsocks了,其他数据继续走到192.168.2.1,然后到公网。
2014-07-23 17:20:09 +08:00
回复了 thekll 创建的主题 程序员 openvpn tcp 协议在国际出口被封了吗
在两端均丢弃reset就可以继续通信。
openvpn的协议包括打了patch的一直被盯的挺紧
2014-07-16 11:29:49 +08:00
回复了 caraway 创建的主题 酷工作 UI 新人,不计酬劳做 UI 设计。
阁下在哪里?能来深圳吗
2014-07-04 01:13:18 +08:00
回复了 Josephpeng 创建的主题 问与答 OpenVPN+Safari 能设置代理转换规则吗?
我个人还是主张只对特别的出境数据做处理,其他都走正常线路。所以你只需要获得一份gfwlist就好了(没错,关键字就是auto gfwlist),然后把这份域名列表转换成ip子网列表(也有这样的工具)。

有三篇文章你可以参考一下 《用树莓派做VPN路由网关》《使用一台Raspberry Pi作为家庭网关, 无障碍翻墙》《autoopenvpn:一个OpenVPN自动代理翻墙项目》
2014-07-03 21:40:58 +08:00
回复了 Josephpeng 创建的主题 问与答 OpenVPN+Safari 能设置代理转换规则吗?
OpenVPN client应该工作在数据链路层吧?换言之,你用ifconfig看看是不是多了块网卡?如果是,设置路由规则+iptables。路由规则把数据路由到OpenVPN生成的那块网卡上去,iptables帮助你完成NAT地址转换。

route add -net 8.8.8.0/24 gw tun0
iptables -t nat -A POSTROUTING -d 8.8.8.0/24 -o tun0 -j MASQUERADE

这样8.8.8.0/24的所有数据就都走OpenVPN了,其他还走墙内。
记得在内核打开ipv4转发
1 ... 3  4  5  6  7  8  9  10  11  12  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2742 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 19ms · UTC 10:07 · PVG 18:07 · LAX 02:07 · JFK 05:07
Developed with CodeLauncher
♥ Do have faith in what you're doing.