社から自宅ネットワークでアクセスする

これは 一人アドベントカレンダー2019 (nesosuke) Advent Calendar 2019 22日目のエントリーです。


Hey社は開発環境にArch Linuxを選べるなど比較的理解のある社だけど、OSやらアプリケーションが選べてもネットワークまでは選べない!
いやまあ、社にはUTMとかは導入されてないから自由なんだけども。
やっぱり家のIPアドレスじゃないと面倒くさいこともあるんですよ。

ただし、社は社でIPアドレス制限のあるリソースにアクセスしないといけない場合があるので、自宅ネットワーク側で常に通信し続けるのはできない。
今回はVM内だけで自宅ネットワークを使えるようにする。

イメージ図

必要なもの

  • 物理サーバー or プロミスキャスモードが使えるVM
  • VirtualBox

手順

1. サーバー側のSoftEtherを設定する

tapに対してL2ブリッジをする。

2. 1のtapと物理NICをブリッジする

/etc/systemd/network/br0.netdev

[NetDev]
Name=br0
Kind=bridge

/etc/systemd/network/br0.network

[Match]
Name=br0

[Network]
DHCP=ipv4

[DHCP]
RouteMetric=100

/etc/systemd/network/eth0.network

[Match]
Name=eth0

[Network]
Bridge=br0

/etc/systemd/network/tap0.network

[Match]
Name=tap_wan

[Network]
Bridge=br0

3. クライアント側のSoftEtherを設定する

これは繋ぎに行くだけ。

4.3の仮想NICとブリッジする

/etc/systemd/network/br1.netdev

[NetDev]
Name=br1
Kind=bridge

/etc/systemd/network/br1.network

[Match]
Name=br1

[Network]
DHCP=ipv4

[DHCP]
RouteMetric=100

/etc/systemd/network/vpn_wan.network

[Match]
Name=vpn_wan

[Network]
Bridge=br1

5. VMのネットワークを4のブリッジにする

ブリッジアダプターを割り当てる。
名前は4で設定したものを指定する。


結果

VM内だけ社のNURO Bizから自宅のmfeedになった。
やったね!

ちなみに、IPv4しか設定してなくてもVMにはIPv6が降ってくる。
あくまで自宅ネットワークへのL2なので当然っちゃ当然。

自宅がフレッツで社がNUROだからNGN網内折返しはできないけれども、200Mbpsを超える程度の速度が出ている。
レイテンシーも7msくらいなので十分快適。
sshももたつかないからmoshは要らない。