ルータ設定
systemd-networkd
ip link
systemctl status systemd-networkd
systemctl status systemd-resolved
NetworkManagerの管理から外す
- /etc/NetworkManager/conf.d/10-unmanaged.conf
[keyfile]
unmanaged-devices=interface-name:enp3s0;interface-name:enx00005e005300
- コマンド
sudo systemctl restart NetworkManager
nmcli dev status
設定
- /etc/systemd/network/10-wan.network
固定IP
[Match]
Name=enp3s0
[Network]
Address=192.168.0.10/24
Gateway=192.168.0.1
DNS=192.168.0.1
DHCP
[Match]
Name=enp3s0
[Network]
DHCP=ipv4
- /etc/systemd/network/20-lan.network
[Match]
Name=enx00005e005300
[Network]
Address=192.168.1.1/24
IPv4Forwarding=yes
コマンド
sudo systemctl restart systemd-networkd
networkctl status
resolvectl status
ip addr
ip route
nftables
- /etc/nftables.conf
table inet filter {
chain input {
# LAN
iif enx00005e005300 udp dport 67 accept
iif enx00005e005300 ip saddr 192.168.1.0/24 udp dport 53 accept
iif enx00005e005300 ip saddr 192.168.1.0/24 tcp dport 53 accept
}
chain forward {
# LAN -> WAN
iif enx00005e005300 oif enp3s0 ip saddr 192.168.1.0/24 accept
}
}
table ip nat {
chain postrouting {
type nat hook postrouting priority srcnat;
oif enp3s0 ip saddr 192.168.1.0/24 masquerade
}
}
sudo nft list ruleset
sudo nft -c -f /etc/nftables.conf
sudo systemctl restart nftables
dnsmasq
- /etc/dnsmasq.d/lan.conf
interface=enx00005e005300
bind-interfaces
dhcp-range=192.168.1.100,192.168.1.200,255.255.255.0,12h
dhcp-option=option:router,192.168.1.1
dhcp-option=option:dns-server,192.168.1.1
server=127.0.0.53
- /etc/default/dnsmasq
DNSMASQ_EXCEPT="lo"
sudo systemctl restart dnsmasq
動作確認
固定IPでping
sudo ip addr add 192.168.1.2/24 dev br0
sudo ip route add default via 192.168.1.1
ip addr show br0
ping 192.168.1.1
ポートの確認
sudo ss -lntup
ログの確認
journalctl -u dnsmasq