기본 게이트웨이의 MAC 주소를 정적으로 설정해야 합니다. 나는 다음 명령을 사용했습니다.
arp -s <ip> <mac>
이것은 작동하지만 재부팅 후에 항목은 동적 상태로 돌아갑니다.
나는 시도했다:
- 디렉토리의 스크립트
arp -s <ip> <mac>
에 동일한 명령을 작성하십시오./etc/network/if-up.d
이것은 간단해 보이지만 작동하지 않습니다. 재부팅 후 arp 항목은 동적 상태로 돌아갑니다.
- 내부 구성을 살펴보면
/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
.