재부팅 후 가상 네트워크 인터페이스가 인터넷에 액세스할 수 없는 이유는 무엇입니까?

재부팅 후 가상 네트워크 인터페이스가 인터넷에 액세스할 수 없는 이유는 무엇입니까?

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전에 작동하는 인터넷 연결을 얻기 위해 어떤 종속성이 누락되었는지 알고 싶습니다.

관련 정보