systemd-networkd를 사용하여 서버에 여러 고정 IP 주소 추가

systemd-networkd를 사용하여 서버에 여러 고정 IP 주소 추가

여러 IP 주소를 가진 서버가 있습니다. 최근에 우리는 systemd로 마이그레이션했는데 여전히 해당 서버에 여러 개의 IP가 필요합니다. systemd-networkd를 사용하면 구성 예제를 찾는 데 몇 가지 문제가 있습니다. 따라서 부팅 프로세스가 끝날 때 bash 스크립트를 사용하여 인터페이스에 ip를 추가합니다.

누군가 하나의 인터페이스에 둘 이상의 IP를 추가하기 위한 systemd-networkd 구성 예제를 제공할 수 있습니까?

답변1

에 따르면systemd.network(5), 필요한 주소를 사용하여 섹션 Address=에 여러 줄을 간단히 추가할 수 있습니다 .[Network]

[Network]
Address=10.2.3.4/16
Address=10.6.7.8/16
Gateway=...

또는 [Address]각 주소에 대해 별도의 섹션을 만듭니다.

[Network]
Gateway=...

[Address]
Address=10.2.3.4/16

[Address]
Address=10.6.7.8/16

[Route]( 섹션 및 매개변수 에도 동일하게 적용됩니다 Gateway=.)

참고하세요시스템 네트워크여전히 매우 새롭고 거의 매일 버그 수정을 받습니다. 최신 시스템 릴리스를 사용하고 있는지 확인하고 가능하면 Git 빌드를 테스트하세요. 참조메일링 리스트버그가 있는 경우에는 IRC 채널과 #systemdfreenode 를 참조하세요.#gentoo-systemd

답변2

/etc/systemd/network/eth0.network저는 Proxmox에서 컨테이너를 사용하고 있으며 Proxmox는 컨테이너에 자체적으로 작성합니다 . 해당 파일을 덮어쓰지 않는 문제를 해결하려면 추가 IP 주소를 사용하여 드롭인 파일을 생성할 수 있습니다./etc/systemd/network/eth0.network.d/additional-ips.conf

[Match]
Name = eth0

[Address]
Address = 192.168.1.102/24

답변3

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
    

관련 정보