Skip to content

Instantly share code, notes, and snippets.

@Manouchehri
Created September 19, 2021 04:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Manouchehri/932dbf089c84d18fbc582a83a45673b1 to your computer and use it in GitHub Desktop.
Save Manouchehri/932dbf089c84d18fbc582a83a45673b1 to your computer and use it in GitHub Desktop.
/lib/systemd/system/dhcpcd-namespace@.service
[Unit]
Description=DHCP Client Daemon with namespace
Wants=network.target
Documentation=man:dhcpcd(8)
[Service]
Type=forking
PrivateNetwork=yes
ExecStartPre=-/usr/sbin/ip netns delete %i-ns
ExecStartPre=/usr/sbin/ip netns add %i-ns
# Idea from https://muru.dev/2020/12/03/poking-pi-ii.html
ExecStartPre=-/usr/bin/ln -s /proc/1/ns/net /var/run/netns/default
ExecStartPre=/usr/bin/umount /var/run/netns/%i-ns
ExecStartPre=/usr/bin/mount --bind /proc/self/ns/net /var/run/netns/%i-ns
# ExecStartPre=/usr/sbin/ip link set %i netns %i-ns
ExecStartPre=/usr/sbin/ip netns exec default /usr/sbin/ip link set %i netns %i-ns
ExecStart=/usr/sbin/dhcpcd %i
# ExecStopPost=/usr/bin/nsenter --net=/var/run/netns/%i-ns ip link set %i netns 1
ExecStopPost=/usr/sbin/ip link set %i netns 1
Restart=always
[Install]
WantedBy=multi-user.target
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment