物好き者

物好き者が行ったことを載せています。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

PageTop

OpenVPNで同一証明書のクライアントを同時に使用する設定

通常、複数のクライアントでOpenVPNサーバーに接続する場合は、PC毎に個別の証明書を発行して使用します。
同じ証明書で同時に接続すると、クライアントに同じIPが割り当てられてしまい、通信が出来なくなります。

証明書を随時発行すれば良いのですが、プライベートで使用するのにめんどくさいため、何とか出来ないかを調べてみました。

OpenVPN 2.1 や http://www.teeda.jp/~genta/openvpn/1.6-beta7/openvpn.8 の設定項目を確認したところ、ifconfig-pool や ifconfig パラメーターで、クライアント毎に別のIPが割り当てられないかと考えました。

しかし、 duplicate-cn というパラメーターが有り、説明を読むとマルチクライアントの許可がされるようです。
メモめもMemo・・・ >> openvpn  ではこの設定を使用しており、問題なく使用できるそうです。

この設定を行い、同一証明書の複数Cを同時に接続したところ、各PCに別のIPが割り当てられ問題なく通信が行えるようになりました。

PageTop

dd-wrtのページにV24でのOpenVPN設定がありました

OpenWRTとdd-wrtのOpenVPN設定ですが、いろいろなページを捜して設定していました。
dd-wrtのサイトにも情報がありますが、GUIでの設定に関しては良い物が見つけられませんでした。

dd-wrtでのGUIによるOpenVPN設定が出来ましたが、その後もOpenVPN設定に関して調べていたところ、dd-wrtのサイトにV24のGUI設定がありました。
OpenVPN - DD-WRT Wiki
VPN (the easy way) v24+ - DD-WRT Wiki

VPN版で無い場合にパッケージでインストールする方法も含めて、いろいろと載っていました。
先に見つけていれば、もう少し楽に設定できていたかもしれないです。

PageTop

OpenVPNのフラグメント対策2

OpenVPNのフラグメント対策 で行った設定では、通信が出来なくなってしまいました。

いろいろと調べたところ、Windows版OpenVPNのログに下記が有りました。
Sun Apr 25 08:28:29 2010 TAP-Win32 MTU=1500

クライアント設定ファイルでMTUを設定しているのですが、MTUが1500になってしまいます。
OpenVPN用のネットワークインターフェースの構成で、詳細設定にMTUがあったのでこれを変更したところ、クライアント設定ファイルでMTUを設定しなくてもMTUが指定されました。

サーバー側のMTUとネットワークインターフェースのMTUを合わせたところ、問題なく接続出来るようになりました。
サーバー側もMTU設定だけにしました。

Windows版OpenVPNでMTUを設定する場合は、クライアント設定ファイルで無くネットワークインターフェースで設定する必要があるようです。

PageTop

OpenVPNのフラグメント対策

OpenVPNで接続した場合、通信が遅かったり途切れる場合があります。
使用している回線がPPPoEのため、MTUを1454にしていましたので、OpenVPNでもMTU設定を変更することを考えました。

OpenVPN 2.1 や http://www.teeda.jp/~genta/openvpn/1.6-beta7/openvpn.8 などにMTU関連の設定がいろいろと書かれています。
とはいえ、いろいろと調整するのが面倒なので、OpenVPNとは [Gentoo Linuxな生活/OpenVPNで悩む] - 特集記事 - Nest Of Hawk を参考に、下記を設定しました。

tun-mtu 1280
tun-mtu-extra 32
mssfix 1280
fragment 1280

インターネット側から接続した場合、通信が出来ないため設定を確認中


とりあえずこれで様子を見ることにします。

PageTop

WAN側からOpenVPNを使用する場合のiptable設定

dd-wrtでOpenVPN証明書サーバーが設定できました ので、WAN側から使用できるようにしました。

まず、WAN側から接続できるように、iptableのINPUT設定に下記を追加します。
iptables -I INPUT 1 -i tun0 -j logaccept

次に、tun0インターフェースからのパケットをWAN側へルーティングできるように、iptableのFORWARD設定に下記を追加します。
iptables -I FORWARD 1 -i tun0 -o ppp+ -s 10.8.0.0/24 -j logaccept

tun0からLAN側へ通信が出来ないようにbr0宛のパケットをdropするように、iptableのFORWARD設定に下記を追加します。
iptables -I FORWARD 1 -i tun0 -o br0 -s 10.8.0.0/24 -j logdrop

これでWAN側からOpenVPNを接続して、インターネットに接続出来るようになりました。
ただし、この状態でもdd-wrtのIPには接続できてしまうので、これもブロックするにはtun0からLAN側IPへの通信をFORWARDでブロックする必要があるようです。

PageTop
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。