시작 시 기본 게이트웨이에 대한 정적 MAC 주소를 어떻게 설정합니까?

시작 시 기본 게이트웨이에 대한 정적 MAC 주소를 어떻게 설정합니까?

기본 게이트웨이의 MAC 주소를 정적으로 설정해야 합니다. 나는 다음 명령을 사용했습니다.

arp -s <ip> <mac>

이것은 작동하지만 재부팅 후에 항목은 동적 상태로 돌아갑니다.

나는 시도했다:

  1. 디렉토리의 스크립트 arp -s <ip> <mac>에 동일한 명령을 작성하십시오./etc/network/if-up.d

이것은 간단해 보이지만 작동하지 않습니다. 재부팅 후 arp 항목은 동적 상태로 돌아갑니다.

  1. 내부 구성을 살펴보면 /etc/systemd/network/eth0.network,

여기에는 다음이 포함됩니다.

[Match]
Name = eth0

[Network]
Description = Interface eth0 autoconfigured by PVE
Address = <ip>
Gateway = <ip>
DHCP = no
IPv6AcceptRA = false

이 구성을 어떻게 변경하는지 잘 모르겠습니다.

답변1

파일 에 다음을 추가해야 합니다 /etc/systemd/network/eth0.network.

[Neighbor]
Address=<gateway IP>
LinkLayerAddress=<gateway MAC>

그러나 Description = Interface eth0 autoconfigured by PVE파일이 다른 소프트웨어에 의해 관리될 수 있으므로 해당 파일에 대한 변경 사항을 덮어쓰는 것이 좋습니다. Proxmox 가상 환경의 가상 머신인가요?

클래식 Debian 패키지를 사용하여 네트워크 인터페이스를 관리하는 경우 /etc/network/if-up.d. ifupdown하지만 귀하(또는 Proxmox)가 대신 일반을 사용하고 있는 것 같습니다 systemd-networkd.

저는 Proxmox에 대해 잘 모릅니다. 이웃 호스트에 대한 정적 MAC 주소를 지속적으로 구성하는 더 나은 Proxmox 호환 방법이 있다면 이 글을 읽는 사람은 누구나 자유롭게 의견을 말하거나 답변을 작성해 주시기 바랍니다.

더 좋은 방법이 없다면 일반 네트워크 설정 후에 실행할 사용자 정의 서비스를 정의하여 필요한 arp -s명령을 실행할 수도 있습니다.

이러한 서비스 정의는 다음과 같습니다.

[Unit]
Description = Set gateway MAC address statically
After = network.target network-online.target
Wants = network-online.target

[Service]
Type = oneshot
RemainAfterExit = yes
ExecStart = /usr/sbin/arp -s <gateway IP> <gateway MAC>
# Alternative command to set gateway MAC without the legacy arp command:
# ExecStart = /sbin/ip neigh add <gateway IP> lladdr <gateway MAC> nud permanent router

[Install]
WantedBy = multi-user.target

예를 들어 에 배치할 수 있습니다 /etc/systemd/system/gatewayMAC.service.

관련 정보