再起動後に仮想ネットワークインターフェイスがインターネットにアクセスできないのはなぜですか?

再起動後に仮想ネットワークインターフェイスがインターネットにアクセスできないのはなぜですか?

enp1s0ラベルに仮想ネットワークインターフェイスを設定しましたenp1s0:0。私はenp1s0時々VPN接続を使用してインターネットに接続します。私のルータはSSHトラフィックを仮想インターフェイスに転送するので、VPNに接続している場合でもコンピュータにSSHで接続できるように仮想ネットワークインターフェイスIPを使用します。この設定は機能します。ただし、再起動すると、Ubuntu GUIネットワーク設定に移動し、仮想インターフェイスから「接続プロファイルを削除する」までインターネットはありません。。仮想ネットワークインターフェイスを復元しても、インターネットは引き続き機能します。私はRaspberry PiのDebianとUbuntu 22.04の両方でこの問題を経験したので、私が何か間違っていると思う傾向があります。

これは私の仮想ネットワークインターフェイスサービスです.

[Unit]
Description=establish virtual interface to bypass vpn with ssh
After=network.target

[Service]
SyslogIdentifier=ssh.vpn.bypass
Type=oneshot
RemainAfterExit=yes
ExecStart=/scripts/ssh.vpn.bypass/ssh.vpn.bypass.sh "192.168.1.113" --up

ExecStop=/scripts/ssh.vpn.bypass/ssh.vpn.bypass.sh "192.168.1.113" --down

[Install]
WantedBy=default.target

これが仮想ネットワークインターフェイスを設定する方法です。

ip addr add "$ip" dev "$ethname" label "$ethname":0
ip rule add from "$ip" table 431
ip route add default via "$dgateway" dev "$ethname":0 table 431
iptables -A INPUT -i tun0 -p tcp -m tcp --dport 51000 -j DROP

仮想ネットワークインターフェイスを有効にした状態で起動し、インターネットが引き続き機能できるようにしたいです。

編集する..

ip addr showインターネットが正常に動作し、仮想インターフェイスが動作しているとき。

2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether b0:41:6f:0c:2a:71 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.14/24 brd 192.168.1.255 scope global dynamic noprefixroute enp1s0
       valid_lft 83694sec preferred_lft 83694sec
    inet 192.168.1.113/32 scope global enp1s0:0
       valid_lft forever preferred_lft forever
    inet6 fe80::8ee7:418:adc1:499c/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

ip route

default via 192.168.1.1 dev enp1s0 proto dhcp metric 100 
192.168.1.0/24 dev enp1s0 proto kernel scope link src 192.168.1.14 metric 100 

ip addr show再起動後...

2: enp1s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether b0:41:6f:0c:2a:71 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.113/32 scope global enp1s0:0
       valid_lft forever preferred_lft forever

ip route再起動後、出力は表示されません。

編集する:

再起動sudo systemctl status ssh.vpn.bypass後、私のスクリプトは取得しようとしたデフォルトゲートウェイのIPアドレスを取得できませんでした。再起動後も収集した接続dgateway="$(ip route | grep default | awk {'print $3'})"には何も表示されませんでした。ip route

編集する:

nmcli connection show再起動すると表示されます...

NAME         UUID TYPE     DEVICE
enp1s0       xxxx ethernet enp1s0
router.wired xxxx ethernet --

もしそうならnmcli connection up router.wired

NAME         UUID TYPE     DEVICE
router.wired xxxx ethernet enp1s0

満足できない解決策..

問題はブートシーケンスですが、これまでは推測ゲームでしたが、まともなことはありません。私は新しいアプローチを試み、起動時にサービスを無効にし、代わりにタイマーデバイスを使用し、すべてが期待どおりにOnBootSec=40機能しました。サービスが開始され、期待される出力が返されるip route show前に動作するインターネット接続を取得するために、どの依存関係が欠落しているかを知りたいです。

ベストアンサー1

おすすめ記事