Debian 11의 지속적인 정적 라우팅

Debian 11의 지속적인 정적 라우팅

다음과 같은 테스트 랩을 설정하려고 합니다.

PD: Metasploit이 아니라 Metasploitable입니다.

저는 VirtualBox를 실행 중이고 라우터는 Debian 11을 실행하는 2개의 가상 머신입니다. 각 라우터에는 2개의 인터페이스가 있습니다.

~# ls /sys/class/net/
enp0s3    enp0s8    lo

~을 위한라우터 1

~# cat /etc/network/interfaces
[...]
# The primary network interface
auto enp0s3
iface enp0s3 inet static
        address 192.168.10.254
        netmask 255.255.255.0
auto enp0s8
iface enp0s8 inet static
        address 192.168.100.1
        netmask 255.255.255.0

~을 위한라우터 2

~# cat /etc/network/interfaces
[...]
# The primary network interface
auto enp0s3
iface enp0s3 inet static
        address 192.168.100.2
        netmask 255.255.255.0
auto enp0s8
iface enp0s8 inet static
        address 192.168.20.254
        netmask 255.255.255.0

경로를 추가하려고 합니다.라우터 1그리고

~# ip route add 192.168.20.0/24 via 192.168.100.2 dev enp0s8

그리고라우터 2그리고

~# ip route add 192.168.10.0/24 via 192.168.100.1 dev enp0s3

ip route show~을 위한라우터 1

169.254.0.0/16 dev enp0s3 scope link metric 1000
192.168.10.0/24 dev enp0s3 proto kernel scope link src 192.168.10.254
192.168.20.0/24 via 192.168.100.2 dev enp0s8
192.168.100.0/24 dev enp0s8 proto kernel scope link src 192.168.100.1

ip route show~을 위한라우터 2

169.254.0.0/16 dev enp0s3 scope link metric 1000
192.168.10.0/24 via 192.168.100.1 dev enp0s3
192.168.20.0/24 dev enp0s3 proto kernel scope link src 192.168.20.254
192.168.100.0/24 dev enp0s8 proto kernel scope link src 192.168.100.2

나중에 이런 변화가 오래가지 않는다는 걸 알고 다 시도해 봤습니다.

https://www.mybluelinux.com/debian-permanent-static-routes/

systemctl restart networking네트워크 서비스를 다시 시작하면 또는를 통한 출력은 /etc/init.d/networking restart다음과 같습니다.

Jobs for networking.service failed because the control process exited with error code.
See "systemctl status networking.service" and "journal -xe" for details.

systemctl status networking.service산출:

Loaded: loaded (/lib/systemd/system/networking.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code)
Process: 478 ExecStart=/sbin/ifup -a --read-enviroment (code=exited, status=1/FAILURE)


router1 systemd[1]: Starting Raise network interfaces...
router1 ifup[499]: RTNETLINK answers: File existis
router1 ifup[478]: ifup: failed to bring up enp0s8
router1 systemd[1]: networking.service: Main process exited, code=exited, status=1/FAILURE
router1 systemd[1]: networking.service: Failed with result 'exit-code'.
router1 systemd[1]: Failed to start Raise network interfaces.

journalctl -u networking.service산출:

--Boot blabla hash blabla
router1 systemd[1]: Starting Raise network interfaces...
router1 ifup[499]: RTNETLINK answers: No such process
router1 ifup[478]: ifup: failed to bring up enp0s8
router1 systemd[1]: networking.service: Main process exited, code=exited, status=1/FAILURE
router1 systemd[1]: networking.service: Failed with result 'exit-code'.
router1 systemd[1]: Failed to start Raise network interfaces.
--Boot blabla other hash blabla
router1 systemd[1]: Starting Raise network interfaces...
router1 ifup[499]: RTNETLINK answers: File existis
router1 ifup[478]: ifup: failed to bring up enp0s8
router1 systemd[1]: networking.service: Main process exited, code=exited, status=1/FAILURE
router1 systemd[1]: networking.service: Failed with result 'exit-code'.
router1 systemd[1]: Failed to start Raise network interfaces.

cat /etc/network/interfaces라우터 1의 경우:

# 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
iface lo inet loopback

# The primary network interface
auto enp0s3
iface enp0s3 inet static
        address 192.168.10.254
        netmask 255.255.255.0
auto enp0s8
iface enp0s8 inet static
        address 192.168.100.1
        netmask 255.255.255.0
#       gateway 192.168.10.254
        up ip route del 192.168.20.0/24 via 192.168.100.2 dev enp0s8
        up ip route add 192.168.20.0/24 via 192.168.100.2 dev enp0s8

그런 다음 시스템을 재부팅하려고 하면 부팅 시 "네트워크 인터페이스를 시작하지 못했습니다"라는 오류가 발생합니다.

그래서 이것이 내가 길을 잃은 곳입니다. 어떤 아이디어가 있나요?

답변1

당신은 2를 가지고위로주문하다. 그것을로 바꾸다

post-up ip route add...
post-down ip route del...

네트워크 서비스를 다시 시작하거나 다시 시작하세요.

답변2

제안:

  1. 다음 명령을 사용하여 시스템 네트워크 구성을 확인하십시오.

    networkctl -a status
    
  2. 실패한 서비스를 확인하십시오.

    systemctl --type=service --state=failed
    
  3. 대신 systemd 사용을 고려하세요 /etc/network/interfaces. 이 접근 방식을 선택하는 경우  systemd를 /etc/network/interfaces사용하여 /etc/network/interfaces.save네트워크를 구성하세요.

설명할 수 없는 모든 동작을 피하려면 인터페이스 사용을 중단하고 모든 것을 systemd로 변환하고 xxx.network파일을 생성하십시오.

  • /etc/systemd/network/10-enp0s3.network 그리고
  • /etc/systemd/network/20-enp0s8.network

그런 다음 systemd-networkd를 활성화합니다.

systemctl enable systemd-networkd

그리고 다시 시작하세요.

관련 정보