문맥: 저는 USB 이더넷 네트워크 카드가 연결된 라즈베리 파이 4에서 라즈베리 11을 실행하고 있습니다. 내 목표는 클라이언트가 Wi-Fi(wlan0) 또는 USB 이더넷(eth1)을 통해 연결한 다음 파이가 기본 이더넷 연결(eth0)을 통해 모든 트래픽을 라우팅하도록 하는 것입니다. 이 설정은 eth0이 연결되어 있지 않을 때(당연히 인터넷이 없을 때) 실행될 수 있어야 합니다.
질문: 모든 인터페이스를 구성했지만 wlan0과 eth1은 트래픽을 eth0 인터넷 연결로 라우팅하지 않습니다.
이것이 systemd-networkd를 구성하는 방법입니다:
/etc/systemd/network/09-default.network:
[Match]
Name=eth0
[Link]
RequiredForOnline=no
[Network]
DHCP=ipv4
[Bridge]
Priority=0
[DHCPv4]
ClientIdentifier=mac
/etc/systemd/network/10-wlan0.network:
[Match]
Name=wlan0
Type=wlan
[Network]
DHCP=no
Address=192.168.8.1/24
DHCPServer=yes
IPMasquerade=yes
[DHCPServer]
PoolOffset=10
PoolSize=100
/etc/systemd/network/11-eth1.network:
[Match]
Name=eth1
[Network]
DHCP=no
Address=192.168.10.1/24
DHCPServer=yes
IPForward=yes
IPMasquerade=yes
[DHCPServer]
PoolOffset=10
PoolSize=100