Скрипт Trasnsate Bash с вызовами утилиты ip в / etc / network / interface - PullRequest
0 голосов
/ 06 сентября 2018

Я пользуюсь услугами провайдера 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
...