그래서 /etc/systemd/network에 lan.network 파일이 있습니다:
[Match]
Name=eth0
[Network]
DHCP=no
[Address]
Address=192.168.59.1/24
때로는 다른 장치를 동일한 인터페이스로 가져오지만 별도의 서브넷(192.168.1.x)에 있습니다. 장치에 액세스하기 위해 선택적으로 인터페이스에서 두 개의 IP 주소를 실행하고 싶습니다. systemd에서 이를 수행하는 가장 좋은 방법은 무엇입니까?
/etc/network/interfaces
이전 버전의 데비안(Wheezy)에서 다음을 편집 하고 얻었습니다:
auto eth0
iface eth0 inet static
address 192.168.59.1
iface eth0:1 inet static
address 192.168.1.5
따라서 기본적으로 eth0 인터페이스가 활성화되고 192.168.1.x에 액세스해야 할 때 다음을 실행합니다.
ifup eth0:1
.
답변1
내가 이해한 바에 따르면 이 작업을 영구적으로 수행하려면 모든 주소를 함께 쌓으면 됩니다. 즉:
Address=192.168.59.1/24 192.168.1.5/24
답변2
Arch Linux, SystemD 249.2-1을 사용하면 다음 세 가지 방법 중 어느 것도 작동하지 않습니다(이 답변도 시도했습니다.)
-------------------------
[Network]
Address=10.2.3.4/16
Address=10.6.7.8/16
-------------------------
[Network]
Address=192.168.59.1/24 192.168.1.5/24
-------------------------
[Address]
Address=10.2.3.4/16
[Address]
Address=10.6.7.8/16
-------------------------
대신 간단한 SystemD 서비스를 사용하여 부팅 후 두 번째 IP를 설정할 수 있습니다.이 답변systemd 서비스 생성에 대한 자세한 내용... 보너스 포인트: 이 방법을 사용하면 정적 또는 DHCP를 기본 주소로 사용할 수 있습니다.
- /usr/local/bin/second_ip를 터치하세요.
- chmod +x /usr/local/bin/second_ip
- 파일을 다음과 같이 편집하세요
#!/bin/bash ip address add 10.10.128.128/16 dev eth0
/etc/systemd/system/second-ip.service를 터치합니다.
파일을 다음과 같이 편집하세요
systemctl은 두 번째 IP를 활성화합니다.
[Unit] Description=second ip service After=network.target [Service] User=root ExecStart=/usr/local/bin/second_ip Type=simple [Install] WantedBy=multi-user.target