45 lines
1.5 KiB
Bash
45 lines
1.5 KiB
Bash
grep -q '^192\.0\.2\.99[[:space:]].*www\.kernel\.org' /etc/hosts && refuse "/etc/hosts already has a 192.0.2.99 line for www.kernel.org; remove it and start again"
|
|
peer_up
|
|
mkdir -p /etc/netns/lepeer
|
|
cat >/etc/netns/lepeer/network <<'Y'
|
|
# The peer's network settings, applied inside the peer at every boot with
|
|
# "ip -batch" (each line is an ip command without the leading "ip").
|
|
address replace 10.99.0.2/24 dev le-peer
|
|
route del default
|
|
Y
|
|
mkdir -p /usr/local/lib/le-lab
|
|
cat >/usr/local/lib/le-lab/peer-net.sh <<'Y'
|
|
#!/bin/sh
|
|
# The far side, 198.51.100.9, on this VM; then the peer's own settings.
|
|
ip link show le-far >/dev/null 2>&1 || ip link add le-far type dummy
|
|
ip addr replace 198.51.100.9/32 dev le-far
|
|
ip link set le-far up
|
|
ip -n lepeer -force -batch /etc/netns/lepeer/network
|
|
true
|
|
Y
|
|
chmod 755 /usr/local/lib/le-lab/peer-net.sh
|
|
if [ -d /etc/NetworkManager/conf.d ]; then
|
|
printf '[keyfile]\nunmanaged-devices=interface-name:le-host;interface-name:le-far\n' \
|
|
>/etc/NetworkManager/conf.d/91-le-lab-far.conf
|
|
systemctl reload NetworkManager 2>/dev/null || true
|
|
fi
|
|
cat >/etc/systemd/system/le-lab-peer-net.service <<'Y'
|
|
[Unit]
|
|
Description=Practice lab: the peer's network settings
|
|
Requires=le-lab-peer.service
|
|
After=le-lab-peer.service
|
|
|
|
[Service]
|
|
Type=oneshot
|
|
RemainAfterExit=yes
|
|
ExecStart=/usr/local/lib/le-lab/peer-net.sh
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|
|
Y
|
|
systemctl daemon-reload
|
|
systemctl enable --now --quiet le-lab-peer-net.service
|
|
# Task 3: a wrong address for www.kernel.org.
|
|
hosts_add "192.0.2.99 www.kernel.org"
|
|
true
|