다음과 같은 테스트 랩을 설정하려고 합니다.
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
제안:
다음 명령을 사용하여 시스템 네트워크 구성을 확인하십시오.
networkctl -a status
실패한 서비스를 확인하십시오.
systemctl --type=service --state=failed
대신 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
그리고 다시 시작하세요.