SSH
・インストール
sudo apt update
sudo apt install -y openssh-server
sudo systemctl enable –now ssh
sudo systemctl status ssh
・IPアドレス確認
ip a
・接続(接続する側のPC)
ssh ユーザー@ipアドレス
・シャットダウン
sudo shutdown -h now
・テキストベース起動にする場合
sudo systemctl set-default multi-user.target
NIC/VLAN
NetworkManager or networkdで管理できるが、GUIで管理できるNetworkManagerとした
netplan
├ NetworkManager
└ systemd-networkd
・NICの物理情報取得
sudo lshw -c network -short
ip -br addr
・VLAN設定
nm-connection-editor
(システム>高度なネットワーク設定)
を起動。
VLANを設定する仮想LAN側をlab-trunkとしてIPv4/6を無効。
新規作成>VLANから作成し、以下の通り設定IPv4/6は無効。

・確認
nmcli -f NAME,DEVICE,AUTOCONNECT connection show | grep -E ‘enp0s31f6\.(12|13)’
IPフォワーディング
sudo sysctl -w net.ipv4.ip_forward=1
・永続化
echo ‘net.ipv4.ip_forward=1’ | sudo tee /etc/sysctl.d/99-lab.conf
PPPoEサーバー化
・インストール
sudo apt update
sudo apt install -y pppoe ppp
・サーバーオプション
sudo vim /etc/ppp/pppoe-server-options
|
1 2 3 4 5 6 7 8 |
# ラボ用 pppoe-server オプション require-chap nodefaultroute noproxyarp lcp-echo-interval 10 lcp-echo-failure 3 mru 1454 mtu 1454 |
・認証設定
sudo vim /etc/ppp/chap-secrets
|
1 2 3 |
# client server secret IP "rtx-a" * "labpass" 203.0.113.2 "rtx-b" * "labpass" 198.51.100.2 |
・手動起動
sudo pppoe-server -I enp0s31f6.13 -L 100.64.0.1 -R 203.0.113.2 -N 1 -C isp-a
sudo pppoe-server -I enp0s31f6.12 -L 100.64.0.1 -R 198.51.100.2 -N 1 -C isp-b
・PPPoEサーバー起動確認
pgrep -a pppoe-server
PPPoEサーバー永続化
sudo vim /etc/systemd/system/pppoe-server@.service
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
[Unit] Description=PPPoE server (%i) After=network-online.target NetworkManager-wait-online.service Wants=network-online.target [Service] Type=forking EnvironmentFile=/etc/pppoe-lab/%i.conf # VLAN I/F が現れるまで待ってから起動(GUI起動のタイミングずれ対策) ExecStartPre=/bin/sh -c 'until ip link show ${IFACE} >/dev/null 2>&1; do sleep 1; done' ExecStart=/usr/sbin/pppoe-server -I ${IFACE} -L ${LOCAL} -R ${REMOTE} -N ${SESSIONS} -C ${ACNAME} Restart=on-failure RestartSec=3 [Install] WantedBy=multi-user.target |
sudo mkdir -p /etc/pppoe-lab
sudo vim /etc/pppoe-lab/isp-a.conf
|
1 2 3 4 5 |
IFACE=enp0s31f6.13 LOCAL=100.64.0.1 REMOTE=203.0.113.2 SESSIONS=1 ACNAME=isp-a |
sudo vim /etc/pppoe-lab/isp-b.conf
|
1 2 3 4 5 |
IFACE=enp0s31f6.12 LOCAL=100.64.0.2 REMOTE=198.51.100.2 SESSIONS=1 ACNAME=isp-b |
sudo systemctl daemon-reload
sudo systemctl enable –now pppoe-server@isp-a.service
sudo systemctl enable –now pppoe-server@isp-b.service
RTX
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
ip lan1 address 192.168.12.1/24 #RTX-Aは.13 ip route default gateway pp 1 pp select 1 pppoe use lan2 pp auth accept chap pp auth myname rtx-b labpass #chap-secretsに一致 ppp lcp mru on 1454 ppp ipcp ipaddress on ip pp mtu 1454 ip pp tcp mss limit auto pp always-on on pp enable 1 pp select none no ip lan2 address save |
|
1 2 3 |
ping 100.64.0.1 (外向に何か発信しないと立ち上がらない) show status pp 1 show status lan2 |
PPPoEリアルタイム確認
sudo journalctl -f | grep -Ei ‘pppd|pppoe’
sudo tcpdump -ni enp0s31f6 -e
sudo tcpdump -ni enp0s31f6.13 -e pppoed
WAN側NICにNAT
ip -br link
lspci | grep -i realtek
・出口(Realtek)でマスカレード
sudo iptables -t nat -A POSTROUTING -o enp2s0 -j MASQUERADE
sudo iptables -A FORWARD -i ppp+ -o enp2s0 -j ACCEPT
sudo iptables -A FORWARD -i enp2s0 -o ppp+ -m conntrack –ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -t mangle -A FORWARD -p tcp –tcp-flags SYN,RST SYN -j TCPMSS –clamp-mss-to-pmtu
・永続化
sudo apt install -y iptables-persistent
sudo netfilter-persistent save
・戻るルート
sudo ip route add 192.168.13.0/24 dev ppp1
sudo ip route add 192.168.12.0/24 dev ppp0
・永続化
sudo vim /etc/ppp/ip-up.d/lab-routes
|
1 2 3 4 5 |
#!/bin/sh case "$PPP_REMOTE" in 203.0.113.2) ip route add 192.168.13.0/24 dev "$PPP_IFACE" ;; 198.51.100.2) ip route add 192.168.12.0/24 dev "$PPP_IFACE" ;; esac |
sudo chmod +x /etc/ppp/ip-up.d/lab-routes
・DNS(ubuntu)
printf ‘ms-dns 8.8.8.8\nms-dns 1.1.1.1\n’ | sudo tee -a /etc/ppp/pppoe-server-options
sudo systemctl restart pppoe-server@isp-a pppoe-server@isp-b
・DNS(RTX)
no dns server dhcp lan2
dns server pp 1
pp select 1
ppp ipcp msext on
pp select none
disconnect pp 1
connect pp 1
show status pp 1

