概要
運用しているVPNサーバをOpenVPNからSoftEtherに乗り換えました。
インターネットからサーバに保存されているデータをSambaで共有しようとしたところ、Sambaにアクセスできず、そもそもpingが通らないと躓いたため、忘備録として記録しておきます。
VPNサーバ(Softether)を用いて端末とVPN接続をした場合、VPNサーバ自身のIPアドレスにアクセスすることができません。
例えば、VPNサーバにファイル共有サーバやWebサーバを入れていたとしてもアクセスすることができず、非常に不便です。
この状態を打破するためには以下のことを行わなければいけません。
環境
スペック | 例 |
---|---|
OS | CentOS 6.5 |
CPU | GIGABYTE マザーボード Intel NM70 Celeronオンボード Mini-ITX GA-C1037UN-EU |
メモリー | DDR3 PC3-12800 CL9 8GB 2枚組 |
ケース | Antec mini-ITX規格対応PCケース ISK-110 VESA ISK-110 VESA |
1.NICを増設する
そもそもなぜ、VPNサーバ自身にアクセスできないかが、Softetherの公式ページに載っています。Linuxの仕様として仮想HUBから、ローカルブリッチしているNICのアドレスに対して、通信を行うことができません。
Softetherのページによると別にNICを用意することが推奨されています。
Linuxオペレーティングシステム内部での制限事項により、VPN 側 (仮想 HUB 側) からローカルブリッジしている LAN カードに割り当てられる IP アドレスに対して通信を行うことはできません。この制限は SoftEther VPN が原因ではなく、Linux の内部構造に原因があります。もし VPN 側 (仮想 HUB 側) から Linux でローカルブリッジに使用しているコンピュータ本体と、何らかの通信を行いたい場合 (たとえば VPN Server / VPN Bridge サービスと HTTP サーバーサービスを両方動作させており、VPN 側からもサーバーサービスにアクセスさせたい場合) は、ローカルブリッジ用の LAN カードを用意して接続し、その LAN カードと既存の LAN カードの両方を物理的に同じセグメントに接続してください (この他の場合においても 「3.6 ローカルブリッジ」 で解説したように、ローカルブリッジに使用する LAN カードはそのための単独のものを用意することが推奨されています)。
引用 - 3.6 ローカルブリッジ - SoftEther VPN プロジェクト
※私のサーバはNICが2つあったため、増設せずにすみました。
2.NICに対して設定を投入
ブリッジするNICにIPを振る必要がないため、IPアドレスを0.0.0.0で設定を行う。
$ vi /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1 ONBOOT=yes BOOTPROTO=none HWADDR=FF:FF:FF:FF:FF:FF IPADDR=0.0.0.0 USERCTL=no TYPE=Ethernet IPV6INIT=no
3.Softetherにてサーバのブリッジ先をLANを変更する
ローカルブリッジ設定に入る。
HUBに名前をつけeth1に変更。
これでVPNを貼ってからも自身にアクセスできるようになります。
VPNで接続したあと自分自身にアクセスを行って確認をしてください。