iptables通过pptp转发

时间:2015-10-21 14:30:56

标签: unix android-source iptables forwarding pptp

我正在创建自己的AOSP,其中包含我自己的应用和服务。其中一个服务创建了ppp0接口,并尝试链接要通过该接口转发的特定应用程序。 我已经尝试过这些命令,但它没有按预期工作。

  

iptables -t mangle -A OUTPUT -m owner --uid-owner 10088 -j MARK   --set-mark 100

     

ip route add 10.0.0.201 dev ppp0 table 100

     

从所有fwmark 100表100中添加ip规则

     

iptables -t nat -A POSTROUTING -m owner --uid-owner 10088 -j SNAT   --to-source 10.0.0.201

     

ip route add default dev wlan0

顺便说一句,10.0.0.201是ppp0接口的IP地址。

这对用户10088工作正常,但是当我使用android chrome浏览器(不是UID 10088)时,我有DNS问题,所以任何URL都无法解析这意味着没有互联网,除了我的UID用户10088

启用vpn后我已经分析了orroids iptables,我找到了这些行:

-A st_mangle_OUTPUT -m mark --mark 0x3c -g st_mangle_ppp0_OUTPUT
-A st_mangle_OUTPUT -m owner --uid-owner 0-99999 -g st_mangle_ppp0_OUTPUT
-A st_mangle_ppp0_OUTPUT -j MARK --set-xmark 0x0/0xffffffff
-A st_mangle_ppp0_OUTPUT -j MARK --set-xmark 0x3c/0xffffffff

听起来他们标记了一些数据包并选择了一系列uid,这正是我想做的事情除了我想要特定的uid而不是它们的范围。

ip route为我提供了这个:

default via 192.168.0.1 dev wlan0 
default via 192.168.0.1 dev wlan0  metric 310 
10.10.0.200 dev ppp0  proto kernel  scope link  src 10.10.0.201 
67.219.95.113 via 192.168.0.1 dev wlan0 
70.83.139.168 via 192.168.0.1 dev wlan0 
72.38.129.202 via 192.168.0.1 dev wlan0 
104.167.113.112 via 192.168.0.1 dev wlan0 
130.102.128.23 via 192.168.0.1 dev wlan0 
139.112.153.37 via 192.168.0.1 dev wlan0 
159.203.8.72 via 192.168.0.1 dev wlan0 
190.181.129.115 via 192.168.0.1 dev wlan0 
192.168.0.0/24 dev wlan0  scope link 
192.168.0.0/24 dev wlan0  proto kernel  scope link  src 192.168.0.110  metric 310 
192.168.0.1 dev wlan0  scope link 
209.81.9.7 via 192.168.0.1 dev wlan0 
218.75.4.130 via 192.168.0.1 dev wlan0 
218.189.210.4 via 192.168.0.1 dev wlan0 

我正在寻找能够完成工作的任何解决方案,无论是解决这个问题还是其他新解决方案。

期待收到你的来信。

提前致谢。

0 个答案:

没有答案