ネットワークインターフェイスの動作順序とIPv6トンネルの問題

ネットワークインターフェイスの動作順序とIPv6トンネルの問題

eth0でネットワーク接続を使用するipv6トンネルインターフェイスがあります。システムの電源を入れると問題が発生し、ipv6接続がありません。

システムはUbuntu 14.04サーバーです。

何が起こるかは次のとおりです。

  • 始める
  • eth0に移動してDHCPを検索します(私は制御できるパラメータではなく、AmazonはDHCPを使用します)。
  • ipv6 インターフェイスは動作しますが、eth0 は完全に動作しないため、トンネルを正しく設定できません。
  • eth0には割り当てられたipv6アドレスがなく、ipv6パスもありません。
  • nginxは、最初のサイトにipv6アドレスを割り当てるために検索され、失敗して終了します。

そのため、ログインしてすべてのパスを削除し、正しい順序でインターフェースを取得する必要がありました。

  • eth0
  • ifup he-ipv6
  • nginxサービスの再起動

これは私の/network/interfacesファイルです

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

auto he-ipv6
iface he-ipv6 inet6 v4tunnel
    address 2001:470:1f0a:******
    netmask 64
    endpoint 216.66.*****
    local 172.********
    up ip -6 route add default dev he-ipv6
    down ip -6 route del default dev he-ipv6
    post-up ifconfig eth0 inet6 add 2001:470:*******

手動介入なしでipv6接続用にシステムをどのように設定しますか?

よろしくお願いします!

答え1

正しいアプローチは、he-ipv6インターフェイスを動作しているeth0インターフェイスに依存させることです。残念ながら、interfacesこれらの依存関係をファイルに表現することはできません。

簡単な方法は、セクションpre-up sleep 5に似た行や内容を追加することですhe-ipv6。少し見苦しいですが、DHCPクライアントが操作を実行するのにかかる時間に応じて一般的に機能します。または、netlinkを観察し、有効なv4パスがある場合にのみ返し、それをpre-up

関連情報