
私のユーザーアカウントの1つのすべてのトラフィックがVPN接続を介してルーティングできるように設定を調整したいと思います。これまで私はこれを達成できませんでした。
オペレーティングシステム:Fedora27
Network Manager GUIを介してVPNに接続している場合(すべてのトラフィックがVPNを通過し、VPNが機能している場合)、$ ipルーティング:
default via 10.5.0.1 dev tun0 proto static metric 50
default via 192.168.0.1 dev enp0s3 proto static metric 100
192.168.0.0/24 dev enp0s3 proto kernel scope link src 192.168.0.15 metric 100
10.5.0.0/16 dev tun0 proto kernel scope link src 10.5.1.112 metric 50
$VPNIP via 192.168.0.1 dev enp0s3 proto static metric 100
私が取ったステップ(この記事ではVPN IPを$ VPNIPに置き換えます):
2番目のユーザーアカウント$ user2(UID 1001)を作成する
2番目のルーティングテーブルを作成します。
echo 100 vpn >> /etc/iproute2/rt_tables
VPNを介してすべてのトラフィックを転送しないように、デフォルトのルートテーブルを設定します。
nmcli connection modify VPN ipv4.never-default true
$ user2のパケットを表示するようにiptablesを設定します。
*nat
: ルーティング前の承認 [0:0]
: 入力承認 [0:0]
: 出力承認 [3:180]
: POSTROUTING 承認 [3:180]
-A POSTROUTING -m mark --mark 0xb -j MASQUERADE
COMMIT*mangle
: ルーティング前承認 [903:366886]
: 入力承認 [903:366886]
: 転送承認 [0:0]
: 出力承認 [872:617897]
: ルーティング後承認 [872:617897]
-A 出力 - m all by --uid-owner1001 -j mark --set-xmark 0xb/0xffffffff
コミット*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
# lo
-A INPUT -i lo -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
# 生成を許可
- A INPUT -m state --state ESTABLISHED -j ACCEPT
# VPNを許可
-A OUTPUT -mowner --uid-owner 0 -d $VPNIP -p tcp --dport 443 -j ACCEPT
# VPNを許可
-A OUTPUT - o tun0 - m オーナー --uid-owner 0 -d 10.5.0.1 -p udp --dport 53 -j 受け入れ
-A 出力 -o tun0 -m オーナー --uid-owner 1001 10.5.0.1 -p udp -- dport 53 -j受け入れ
#VPN http 許可
-A 出力 -o tun0 -m 所有者 --uid-owner 1001 -p tcp --dport 80 -j 受け入れ
-A 出力 -o tun0 -m 所有者 --uid-owner 1001 -p tcp -- dport 443 -j 受け入れ
#ssh
-A 入力を許可 -i enp0s3 -p
tcp --dport 22 -j 受け入れ -A
出力テーブル100を介してルーティングされるようにタグ付きパケットを設定するIPルールを追加します。
ip rule add fwmark 11 table 100
動作しているデフォルトパスのすべての行をテーブル100にコピーします。
ip route add default via 10.5.0.1 dev tun0 proto static metric 50 table 100 ip route add default via 192.168.0.1 dev enp0s3 proto static metric 100 table 100 ip route add 192.168.0.0/24 dev enp0s3 proto kernel scope link src 192.168.0.15 metric 100 table 100 ip route add 10.5.0.0/16 dev tun0 proto kernel scope link src 10.5.1.112 metric 50 table 100 ip route add $VPNIP via 192.168.0.1 dev enp0s3 proto static metric 100 table 100
問題:うまくいかず、パスが持続しないようです。どうぞよろしくお願いします!