DigiLoog

PC関係の事なら何でもいけるそんな処

Archive for the ‘Network’ Category

自宅のIPv6コアルータ入れ替え検討中

2021年02月27日(土) - 20:47 | カテゴリ: Network

昨今の事情で中古市場へのNW機器放出が増えたのか上物のルータを手に入れる事が出来た。
記事を作れる迄に弄ってない事もあり、使用感や分解レポは後日書く予定。
適当に弄った所、BGP4+としてIPv6を喋れたりOSPFv3も癖無く処理出来そうだった。

現在はEdgeRouter-Xで自宅のIPv6コアを担っているのだが、
細かいバグが多くルーティングを注入出来なかったりするケースがあった。
今の構成でも処理速度は問題無いのだが、
バグを回避する為にルーティングを自由に弄れないのは本末転倒なので、
今回購入したルータに入れ替える事が出来ないか確認し、
出来そうならば入れ替え作業も実施しようと思う。



NW仮想ラボにGNS3を導入した

2020年12月05日(土) - 21:32 | カテゴリ: Network

筆者はNWラボに物理装置を使う事が多かったのだが、
物を揃えたら置き場が無くなってきたのと、稼働させる電気代が増えてきて困っていた。
また、本職の都合上物理装置を使った検証をする事が減ってきた事もあり、
昨年から今年にかけて実施していた自宅サーバ刷新を機にラボをGNS3に全面移行していた。

という事で、今回はNW仮想ラボ環境をネタとして紹介しようと思う。


適当にトポロジを組んで稼働させたステータスがこちら。
トラフィックを流していないので、CPU負荷は低いがIOSを動かす為にメモリ使用率が高い。



VyOSでIPv6-Only IPSecVPN設定時に出るエラー回避方法

2020年08月08日(土) - 22:35 | カテゴリ: Network

“ns-lab BB”の自宅サーバとリモートで動いているVPS・専用サーバを繋ぐ為、
VyOSを使って拠点間IPSecVPNを構築してNW通信が出来る様にしてある。

従来はVPN専用に固定IPプロバイダを契約してIPv4 IPSecVPNを張っていたのだが、
費用とVPN冗長化の課題が出てきたので何とかしようと考えていた。
そんな中『PPPoEで大量に振ってくるIPv6を使えば専用プロバイダいらないのでは!?』
と思い立ったので、IPv6 IPSecVPNへ移行する事にした。

………

そうなると、IPv6アドレスのみ付与したインターフェースでIPSecを張る必要が出てくるのだが、
VyOS v1.2.Xに設定を投入するとこんなエラーが出てきた。

# commit
[ vpn ipsec site-to-site peer 2001:ffff:ffff:ffff::1 tunnel 1 ]
VPN configuration error: IPv4 over IPv6 IPsec is not supported

Warning: Local address 2001:0:0:0::1 specified for peer "2001:ffff:ffff:ffff::1"
is not configured on any of the ipsec-interfaces and is not the
clustering address.  IPsec must be re-started after address
has been configured.

VyOS公式でもバグ報告が上がっているのだが、優先度低になっており何時直るのか判らない状況。
コレが出来ないとIPv6環境に移行が出来ないのは勿論の事、修正を待って何もしないのもどうかと思ったので、
自力でVyOS内のIPSec設定スクリプトを直してみた。

………

修正箇所は次の通り。スクリプトがperlで書かれていたので読みやすかった。
どうやら、IPv6のみ付与したインターフェースでIPSecを設定しようとすると、
条件判定に引っかかってしまいエラーが出る様だった。
この問題は、VyOSのフォークとなるEdgeRouterでも発生するらしく、
先人の知恵も借りながら次の通りに修正してみた。

 

修正前:[/opt/vyatta/sbin/vpn-config.pl]

  550    # Check remote/local and peer protocol consistency
  551    # IPv6 over IPv6 scenario is actually supported by StrongS/WAN,
  552    # we do not allow it in this version because of design and QA issues.
  553    if (($conn_proto != 6) && ($leftsubnet_proto == 6)) {
  554        vpn_die(["vpn", "ipsec", "site-to-site", "peer", $peer, "tunnel", $tunnel],
                 "$vpn_cfg_err IPv6 over IPv4 IPsec is not supported");
  555    } elsif (($conn_proto == 6) && ($leftsubnet_proto != 6)) {
  556        vpn_die(["vpn", "ipsec", "site-to-site", "peer", $peer, "tunnel", $tunnel],
                 "$vpn_cfg_err IPv4 over IPv6 IPsec is not supported");
  557    }

 

修正後:[/opt/vyatta/sbin/vpn-config.pl]

  550    # Check remote/local and peer protocol consistency
  551    # IPv6 over IPv6 scenario is actually supported by StrongS/WAN,
  552    # we do not allow it in this version because of design and QA issues.
  553    if (($conn_proto != 6) && ($leftsubnet_proto != 0 and $leftsubnet_proto == 6)) {
  554        vpn_die(["vpn", "ipsec", "site-to-site", "peer", $peer, "tunnel", $tunnel],
                 "$vpn_cfg_err IPv6 over IPv4 IPsec is not supported");
  555    }
  556    if (($conn_proto == 6) && ($leftsubnet_proto != 0 and $leftsubnet_proto != 6)) {
  557        vpn_die(["vpn", "ipsec", "site-to-site", "peer", $peer, "tunnel", $tunnel],
                 "$vpn_cfg_err IPv4 over IPv6 IPsec is not supported");
  558    }

554行目と557行目は幅の関係で改行しているが実際は1行で書く。
実際の修正箇所は553行目と556行目の判定処理。
この改修を入れると、IPv6 IPSec VPNも設定が通る様になった。
だが、VyOSのアップグレードをすると元に戻る筈なので注意が必要。
そのうち公式修正で直ると思うが、それまではこの改修でお茶を濁そうと思う。



  • 応援中

    ハッピーライヴ ショウアップ! 応援中!!
    歩いていこう、キミとふたりで D.C.4 Fortunate Departures ~ダ・カーポ4~ フォーチュネイトデパーチャーズ 2021年2月26日発売予定