0

独自のアプリとサービスを含む独自の AOSP を作成しています。これらのサービスの 1 つは ppp0 インターフェイスを作成し、そのインターフェイスを介して転送される特定のアプリをリンクしようとします。これらのコマンドを試しましたが、期待どおりに機能しませんでした。

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

ip route add via 10.0.0.201 dev ppp0 テーブル 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 を有効にした後に Android の 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 

これを解決するか、別の新しいソリューションを解決するかのいずれかで、仕事を成し遂げるソリューションを探しています。

あなたから聞いて楽しみにして。

よろしくお願いします。

4

0 に答える 0