Как использовать systemd-nspawn с pptp?

Как использовать systemd-nspawn с pptp?

Я хотел бы настроить контейнер так, чтобы он использовал VPN только для сетевого интерфейса.

Я использовал pptpsetupи ponсделал pptp-соединение работающим, и получил ppp0интерфейс.

Теперь я хочу, чтобы все интернет-соединения в контейнере systemd-nspawn проходили через ppp0.

Как мне это сделать?

решение1

systemd-nspawn --network-interface=ppp0

ppp0 исчезнет из пространства имен хоста. Вы не можете делить один IP-адрес с контейнером и не делить другие IP-адреса. (Кроме выполнения NAT).

Похоже, что для этого может потребоваться очень новое ядро. http://www.spinics.net/lists/netdev/msg339236.html

ИЛИ (машина создана после ppp0):

systemd-nspawn --private-network

ip link set dev ppp0 netns $PID

где $PID — это pid в пространстве имен хоста процесса в контейнере, полученный с помощью

P=$(machinectl $MACHINE_NAME show --property=Leader)
PID=${P#Leader=}

и $MACHINE_NAMEэто значение, переданное -Mопцииsystemd-nspawn

Связанный контент