コンテンツにスキップ

ルータ設定

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

apt-cacher-ng

reverse SSH