Windows VISTA: OpenVPN 開通後のWindows側のネットワークインタフェースのIPアドレスが正しく設定されない

893 views
Skip to first unread message

Hiro Sugawara

unread,
Jun 17, 2016, 7:04:37 PM6/17/16
to openvpn-japa...@googlegroups.com
こんにちは

サーバ: Linux 2.6.34 OpenVPN 2.1.1
クライアント: Windows VISTA 32bit OpenVPN 2.3.11.0
OpenVPN: TAP

の構成で外出先から自宅のLANに接続します。

OpenVPN GUIを使い、所望のVPNインタフェースのローカルアドレスで接続に成功したと通知されるのですが、VPNインタフェースTAP
Windows adapter
V9の状態を見ると169.x.x.xの無名氏アドレスになっており通信ができません。このインタフェースのIPV4プロパティズを見るとIPアドレスがDHCPになっています(DNSサーバは以前指定した固定アドレス)。

TAP Windows adapter
V9のIPV4プロパティズでIPアドレスの取得を固定にし、アドレス、マスク、ゲートウェイを手動で設定すると通信ができるようになりますが、一旦VPNを切断して再接続するとまたDHCPに戻ってしまい、また手動で設定しなければなりません。

何とか自動的にVPNインタフェースのIPアドレスを設定できるようにならないでしょうか?

クライアント側の証明書ファイルには
Subject: .... CN=xxx-123/emailAddress=z...@abc.com
の行があり、

サーバの/etc/openvpn/ccd/xxx-123 (上記証明書ファイルの共通名と同じ名前のファイル)には
ifconfig-push
<このクライアントに設定されるIPアドレス> <このクライアントが使用するゲートウェイ(サーバ)のVPNアドレス>
が書かれています。

上記「<このクライアントに設定されるIPアドレス>」は/etc/openvpn以下のディレクトリでk歩のファイルだけに記述があり、クライアントのVPN接続は正しくこのアドレスに設定されているので一応動作しているように見えます。

なにとぞお力添えを…。

hiro

Taro Yamazaki

unread,
Jun 19, 2016, 10:28:44 PM6/19/16
to openvpn-japa...@googlegroups.com

こんにちは、やまざきです。

ブリッジ接続かルーティング接続かにもよりますが、通常はVPNアドレスは自動
割り当てを利用するケースが多いので、ご希望の構成は一般的なものかと思います。

まずはCCD(クライアント構成ファイル)を使用せずに接続してみて、挙動を確
認することをお勧めします。これで問題なくつながるようであればCCDファイル
関連の設定に問題がある、ということになります。

あとはサーバー側、クライアント側のログを確認いただくと手がかりがあると思
います。

# ログファイルなどをこのリストにお送りいただく際は、機密情報を忘れずに
# マスクしてください。

やまざき

P.S.:
サーバー側のOpenVPNバージョンが結構古いようですね。2.1.1となると2009年に
リリースされたバージョンになりますし、クライアントは新しいバージョンをご
利用のようですので、できればバージョンを新しいものに揃えていただいたほう
がよろしいかと思います。
--
::: Taro Yamazaki [ ta...@plum-systems.co.jp ]
: <Blog> http://yamatamemo.blogspot.jp/
: <LinkedIn> http://www.linkedin.com/in/yamata
-------------------------------------------------------------
: Plum Systems Inc.
: 2-3-11-2F, Kurihira, Asao-ku,
: Kawasaki, Kanagawa
: http://www.plum-systems.co.jp/

Hiro Sugawara

unread,
Jun 21, 2016, 7:32:44 PM6/21/16
to openvpn-japa...@googlegroups.com
IPアドレスが判りにくかったかも知れないので、具体的な仮アドレスで書きます。

10.0.1.0/24  家庭内LAN
10.0.2.1/24  VPNサーバのTAPエンドポイント
10.0.2.2/24  VPNクライアントの指定TAPエンドポイント

このクライアントの証明書ファイルに含まれる行
Subject: .... CN=xxx-123/emailAddress=z...@abc.com

ccd/xxx-123ファイルの内容
ifconfig-push 10.0.2.2 10.0.2.1

試行錯誤の結果、VPN開通後に以下の内容のバッチファイルをクライアント側で走らせることで目的は達成しました。
netsh interface ip set address "Local Area Connection 3" static
10.0.2.2 255.255.255.0 10.0.2.1
pause
route add 10.0.1.0 mask 255.255.255.0 10.0.2.1
route add 10.0.2.0 mask 255.255.255.0 10.0.2.1

・「Local Area Connection
3」は常にこのTAPインタフェースに指定される名前です(1と2はVMware)。
・pauseはTAPインタフェースの落着きに時間がかかるため
・routeはそれぞれLANとVPNクライアント相互にラウティングするため
です。

しかし、インタフェースのIPアドレス指定は本来VPNからすべきものと思うのですが、いかがでしょう?特に「Local
Area Connection
3」は理屈の上では不安定(状況によっては別の名前かもしれない)なのでイヤな感じです。

TUNインタフェースでは問題なくAndroidとLinuxのクライアントでつながりますが、WindowsではTAPしかないようです。

hiro


On 6/16/2016 13:29, Hiro Sugawara wrote:
> こんにちは
>
> サーバ: Linux 2.6.34 OpenVPN 2.1.1
> クライアント: Windows VISTA 32bit OpenVPN 2.3.11.0
> OpenVPN: TAP
>
> の構成で外出先から自宅のLANに接続します。
>
> OpenVPN GUIを使い、所望のVPNインタフェースのローカルアドレスで接続に成功
> したと通知されるのですが、VPNインタフェースTAP Windows adapter V9の状態
> を見ると169.x.x.xの無名氏アドレスになっており通信ができません。このイン
> タフェースのIPV4プロパティズを見るとIPアドレスがDHCPになっています(DNS
> サーバは以前指定した固定アドレス)。
>
> TAP Windows adapter V9のIPV4プロパティズでIPアドレスの取得を固定にし、ア
> ドレス、マスク、ゲートウェイを手動で設定すると通信ができるようになります
> が、一旦VPNを切断して再接続するとまたDHCPに戻ってしまい、また手動で設定
> しなければなりません。
>
> 何とか自動的にVPNインタフェースのIPアドレスを設定できるようにならないで
> しょうか?
>
> クライアント側の証明書ファイルには
> Subject: .... CN=xxx-123/emailAddress=z...@abc.com
> の行があり、
>
> サーバの/etc/openvpn/ccd/xxx-123 (上記証明書ファイルの共通名と同じ名前
> のファイル)には
> ifconfig-push <このクライアントに設定されるIPアドレス> <このクライア
> ントが使用するゲートウェイ(サーバ)のVPNアドレス>
> が書かれています。
>

Hiro Sugawara

unread,
Jun 21, 2016, 7:32:44 PM6/21/16
to openvpn-japa...@googlegroups.com
やまざきさん こんにちは

なるほど。教えていただいたようにccdファイル(ifconfig-push 1行のみ)を禁止したらIPアドレスもラウティングも期待通りに自動設定されました(ただしIPアドレスは固定ではなく「次の空きアドレス」になってしまいましたが)。

ifconfig-pushについてもう少し研究してみますが、今回はこれで落着です。どうもありがとうございました。

なおopenvpnのバージョンが低いのは、6年ほど前に作ったこのファイアウォールがFC13という古いOSだからです。数年前からFC2xへのアップグレードを計画しているのですが、プロダクションシステムなので、sysv
-> systemctl、iptables ->
firewalldなどの大幅な変更が怖くて実施していません ;-)

hiro
Reply all
Reply to author
Forward
0 new messages