부팅 시 동시에 다른 네트워크에서 통신하도록 데비안을 설정하는 방법은 무엇입니까?

부팅 시 동시에 다른 네트워크에서 통신하도록 데비안을 설정하는 방법은 무엇입니까?

WiFi 어댑터와 온보드 이더넷을 사용하여 서로 다른 두 네트워크에 동시에 액세스하려고 합니다. 이더넷에는 장치가 하나만 있으며 라우터나 스위치를 거치지 않습니다. Wi-Fi 네트워크가 사용됩니다.모두내 라우터를 통과하는 다른 네트워크 트래픽.

지금까지 포럼에 게시된 많은 온라인 기사, 가이드 및 질문을 따른 후 몇 가지 반복 가능한 단계를 사용하여 어떻게든 작동하도록 했습니다. 그러나 몇 가지 명령을 입력한 후에만 재부팅하면 제대로 작동합니다.

내 인터페이스 파일에 있는 내용은 다음과 같습니다.

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo enp2s0 wlx0013eff5755b
iface lo inet loopback

# The primary network interface
allow-hotplug enp2s0
iface enp2s0 inet static
    address 10.10.10.83
    gateway 10.10.10.1
    # dns-* options are implemented by the resolvconf package, if installed
    dns-nameservers 10.10.10.1
    up route del default gw 10.10.10.1

iface wlx0013eff5755b inet static
    address 192.168.1.83
    gateway 192.168.1.1
#   # dns-* options are implemented by the resolvconf package, if installed
    dns-nameservers 192.168.1.1
    up route add default gw 192.168.1.1

내 네트워크 설정이 작동할 때 표시되는 내용은 다음과 같습니다.

joshua@printnc:~$ ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether bc:30:5b:aa:32:01 brd ff:ff:ff:ff:ff:ff
3: wlx0013eff5755b: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT group default qlen 1000
    link/ether 00:13:ef:f5:75:5b brd ff:ff:ff:ff:ff:ff
joshua@printnc:~$ sudo route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.1.1     0.0.0.0         UG    0      0        0 wlx0013eff5755b
10.0.0.0        0.0.0.0         255.0.0.0       U     0      0        0 enp2s0
localnet        0.0.0.0         255.255.255.0   U     0      0        0 wlx0013eff5755b

컴퓨터가 처음 부팅될 때 네트워크 설정에 표시되는 내용은 다음과 같습니다.

joshua@printnc:~$ ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether bc:30:5b:aa:32:01 brd ff:ff:ff:ff:ff:ff
3: wlx0013eff5755b: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
    link/ether 00:13:ef:f5:75:5b brd ff:ff:ff:ff:ff:ff
joshua@printnc:~$ sudo route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.1.1     0.0.0.0         UG    0      0        0 wlx0013eff5755b
default         192.168.1.1     0.0.0.0         UG    0      0        0 wlx0013eff5755b
10.0.0.0        0.0.0.0         255.0.0.0       U     0      0        0 enp2s0
localnet        0.0.0.0         255.255.255.0   U     0      0        0 wlx0013eff5755b

이때 다시 시작하면 enp2s0만 정상적으로 작동하고 있습니다. 다음 단계는 다음과 같습니다.

  1. Wi-Fi에 수동으로 연결하세요. 그러면 enp2s0 연결이 끊어집니다.

  2. enp2s0 인터페이스를 종료하려면 다음 명령을 입력하십시오(오류가 발생함).

joshua@printnc:~$ sudo ifdown enp2s0
RTNETLINK answers: No such process
  1. enp2s0 인터페이스를 시작하는 명령을 입력하십시오(이 명령을 입력한 직후에 오류가 발생하며 enp2s0 인터페이스가 정상적으로 작동하기 시작하고 두 네트워크에 모두 연결됩니다).
joshua@printnc:~$ sudo ifup enp2s0
RTNETLINK answers: File exists
ifup: failed to bring up enp2s0

왜 작동하는지, 내가 뭘 잘못하고 있는지 모르겠습니다. 어떤 도움이라도 환영합니다! 제 희망은 3단계 프로세스를 거치지 않고도 재부팅 시 작동되도록 하는 것입니다.

다음을 추가하도록 편집되었습니다.이것은 커널 4.19.0-11-rt-amd64를 사용하는 Debian Buster에 있습니다.

답변1

불필요한 작업을 수행하고 있기 때문에 RTNETLINK에서 오류 메시지를 받습니다.

첫 번째 웹 섹션을 살펴보겠습니다.

# The primary network interface
allow-hotplug enp2s0
iface enp2s0 inet static
    address 10.10.10.83
    gateway 10.10.10.1
    # dns-* options are implemented by the resolvconf package, if installed
    dns-nameservers 10.10.10.1
    up route del default gw 10.10.10.1

IP 주소를 설정하고(그리고 넷마스크/네트워크 주소를 완전히 생략합니다. 이는 엉성하고 시스템이 10.주소로 인해 /8이라고 가정하게 하지만 그것이 효과가 있다면 그렇게 하십시오) 기본 게이트웨이를 정의하고 그런 다음 기본 게이트웨이를 제거하는 기능을 즉시 추가하십시오.

(그냥 하는 대신 왜 이런 짓을 하겠어요?처음부터 게이트웨이를 추가하지 마세요? )

호출하면 ifdown enp2s0인터페이스 정의를 보고 인터페이스를 비활성화하기 전에 기본 게이트웨이를 삭제하려고 시도합니다. 그렇게 ifupdown작동하기 때문입니다. 그러나 경로를 삭제했기 때문에 RTNETLINK는 경로를 찾을 수 없다고 알려줍니다. 삭제하고 프로세스가 실패했습니다.

두 번째 섹션에서도 같은 일이 발생합니다.

iface wlx0013eff5755b inet static
    address 192.168.1.83
    gateway 192.168.1.1
#   # dns-* options are implemented by the resolvconf package, if installed
    dns-nameservers 192.168.1.1
    up route add default gw 192.168.1.1

(다시 한번 말씀드리지만 넷마스크는 없지만 프라이빗 서브넷 192.168.x.x의 집합으로 정의되어 있으므로 /24시스템에서는 다시 가정을 합니다. 여기서도 명확하게 밝히기를 권합니다.)

기본 게이트웨이를 정의한 다음 명시적으로 기본 게이트웨이를 추가하려고 합니다.다시. RTNETLINK는 경로가 이미 존재하고 스크립트가 다시 실패함을 알려줍니다.

원격 두 up항목과 gateway첫 번째 섹션 항목이 작동할 수 있습니다. 실제로 설명하는 내용이 다소 불분명하고 문서가 매우 모호하기 때문에 원하는 대로 작동할 것이라고 자신있게 말할 수 없습니다. interfaces실제로 이해하기 위해 노력하지 않은 내용을 복사한 것으로 의심되기 때문입니다.

관련 정보