OpenVPNに限らず、既存のネットワークに参加させるような VPN接続を行なうときの悩みは、VPN待ち受け側サーバのLISTENアドレスと セッション確立時に割り当てられるアドレスを別ネットワークにしとかないと いけないということ。たとえば既存LANが 192.168.1.0/24 で、ここに参加させるためにこのLAN内の 192.168.1.1 のマシンをVPNサーバ にしたとして、VPN接続してきたクライアントに 192.168.1.100 とか割り当てようとしても、セッション確立した瞬間にVPNサーバへの ルーティングが失われるのでアウト、という理屈。
とはいえ、VPN専用の仮想ネットワークを割り当てるんじゃ ネットワーク構成が複雑化してうれしくない。
というときは、VPNサーバの待ち受けアドレスをIP aliasで 本体IPアドレスとは別のものにし、クライアントに送り込む default route を本体アドレスにするとよい。例示。
たとえば、VPNサーバ 192.168.1.1 にaliasとして 192.168.1.2 をつけ、OpenVPNのconfigファイルには
local 192.168.1.2 push "route-gateway 192.168.1.1" push "redirect-gateway"
としておく。これで、クライアント側から192.168.1.2へのrouteは 保ったまま、default gateway を本体サーバに向けられる。ああすっきり。
pkgsrcじゃなくて、の話。
des_old.hのincludeでエラーになる。これは
/usr/src/crypto/dist/openssl/crypto/des/
にあるヘッダファイル群をインクルードパスのどこかの
openssl/
に配備すればよいようだ。
caam 前提だとこんな感じ。
tar -zxpf lzo-2.05.tar.gz cd lzo-2.05 CAAM_ADD=adm caam -gmaic -j5 --prefix=/usr/local/adm cd .. tar -zxpf openvpn-2.2.1.tar.gz cd openvpn-2.2.1 ln -s /usr/src/crypto/dist/openssl/crypto/des \ /usr/local/adm/include/openssl CAAM_ADD=adm caam -gmaic -j5 --prefix=/usr/local/adm