ip tuntap を /etc/network/interfaces に置き換えます (または /etc/network/interfaces から tun インターフェイスを作成する方法)。

ip tuntap を /etc/network/interfaces に置き換えます (または /etc/network/interfaces から tun インターフェイスを作成する方法)。

私はiprouteとtunモードを使用してIPv6 tunインターフェイスを生成するためにshスクリプト(下に貼り付け)を使用しています。

#!/bin/sh
# Create a new TUN interface for WPAN interaction.
ip -6 tuntap add mode tun tun0
# Assign it a global IPv6 address.
ip -6 addr add FF41::2 dev tun0
# Add route to default address of Serial TUN embedded interface.
ip -6 route add FF41::1 dev tun0
# Add route to Unique Local /64 Prefix via tun0.
ip -6 route add FF41:0000:0000:3EAD::/64 dev tun0
# The interface is ready.
ip link set tun0 up

# Enable IPv6 routing on host.
sysctl -w net.ipv6.conf.all.forwarding=1

このスクリプト(起動中に呼び出される)をよりきれいなメソッドに置き換えたいのですが、/etc/network/interfacesこのファイルを正確に生成する方法は少し混乱しています。

パスを追加するコマンドは、そのパスを適切な事前作業セクションに置き換えることを知っています/etc/network/interfaces。しかし、作成するインターフェイスがトンインターフェイスであるかどうかを知る方法はわかりません。

今私の/etc/network/interfaces外観は次のとおりです。

# 802.15.4 Network
auto tun0
iface tun0 inet6 static
    address FF41::2
    netmask 64
    pre-up ip -6 tuntap add mode tun tun0
    pre-up ip -6 route add FF41::1 dev tun0
    pre-up ip -6 route add FF41:0000:0000:3EAD::/64 dev tun0
    post-up sysctl -w net.ipv6.conf.all.forwarding=1

このデバイスには、pytunを使用してシリアル接続(802.15.4ラジオを使用)を介してtun0を外部デバイスに接続するPythonスクリプトがあります。

編集する:上記のファイルを使って動作interfacesする解決策を見つけたようです。しかし、私はまだエレガントな解決策についてのコメントでまだ開いています。ありがとうございます!

ベストアンサー1

おすすめ記事