Я пользуюсь услугами провайдера Scaleway. У меня есть публичный экземпляр и несколько частных. Проблема в том, что частные интерфейсы не имеют доступа к Интернету.
Есть идея организовать NAT через публичный экземпляр -
https://community.online.net/t/yet-another-tutorial-to-create-a-private-network/5090
В этой статье описывается, как поднять туннели GRE. Но все связано с использованием bash skyrtta и утилит ip.
#!/bin/bash
REMOTE_ADDR="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX92.priv.cloud.scaleway.com
XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX93.priv.cloud.scaleway.com"
ip link add name br0 type bridge
ip addr add 172.16.42.254/24 dev br0
ip link set br0 up
for ADDR in $REMOTE_ADDR; do
IP=$(getent hosts $ADDR | awk '{ print $1 }')
IP_SANITIZED=$(echo $IP | sed 's/\./-/g')
TUN_DEV="tun-"$IP_SANITIZED
ip link add $TUN_DEV type gretap remote $IP ttl 64
ip link set dev $TUN_DEV up
ip link set dev $TUN_DEV master br0
done
Теперь я пытаюсь преобразовать это в формат файла / etc / network / interfaces . Но это не работает для меня.
Мой эксперимент:
iface br0 inet static
description create bridge interface
address 172.16.42.254
netmask 24
# hook scripts
pre-up ip link add name br0 type bridge
post-up ip link add tun-1 type gretap remote 10.16.167.11 ttl 64
post-up ip link set dev tun-1 up
post-up ip link set dev tun-1 master br0
post-up ip link add tun-2 type gretap remote 10.16.157.141 ttl 64
post-up ip link set dev tun-2 up
post-up ip link set dev tun-2 master br0
post-up ip link add tun-3 type gretap remote 10.16.119.13 ttl 64
post-up ip link set dev tun-3 up
post-up ip link set dev tun-3 master br0