物好き者

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

スポンサーサイト

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

PageTop

OpenVPN経由でひかり電話を使うためにiptableの設定を変更しました

dd-wrt 12-07-11-r17967 はいろいろと直っているようです で問題がなかったので、Internet接続用WZR-HP-G301NHもバージョンアップしました。

OpenVPNからLANへの通信は問題ないのですが、WANポートに接続したひかり電話のSIPサーバー:PR-S300NEと通信ができなくなり、利用できなくなりました。

以前のiptable設定では、tun0からbr0への通信のみ許可していましたが、WANポート:eth1に対してNATするように変更したところ利用できるようになりました。
iptables -t nat -I POSTROUTING -s OpenVPN ClientIP -d PR-S300NE IP -j SNAT --to eth1ポートIP

バージョンアップ前でもbr0にtun0が割り当てられていなかったので、なんらかで通信できていただけだと思います。

スポンサーサイト

PageTop

OpenVPNでクライアント証明書別の設定

DD-WRTでOpenVPNを利用していますが、認証はクライアント証明書を使用しています。
証明書によってLAN側にアクセスできるものとできないものを分けるようにしてみました。

下記を参考にして、証明書別設定ディレクトリ方式で行いました。
VPNサーバー構築(OpenVPN) - Fedoraで自宅サーバー構築
yamata::memo: [OPENVPN TIPS] VPNクライアントに固定IPアドレスを割り当てる

ただし、LAN側へのアクセスが必要なため、ルーティング情報をクライアントに設定するのも、クライアント別に設定しました。

つづきを表示

PageTop

OpenVPNのフラグメント対策3

OpenVPNのフラグメント対策2 で、クライアント側の設定ファイルのtun-mtuが反映されないため、ネットワークインターフェースの構成でMTUを設定していました。

ddd-wrt 05-08-11-r16994 以降でOpenVPNを動かすことができました ので、Internet接続用WZR-HP-G300NHを 06-14-11-r17201 に更新しました。

OpenVPNのログをチェックしていたところ、次のエラーが繰り返し記録されており、OpenVPN経由での通信に遅れが発生していました。
WARNING: 'link-mtu' is used inconsistently local='link-mtu 1416' remote='link-mtu 1558'
WARNING: 'tun-mtu' is used inconsistently local='tun-mtu 1358' remote='tun-mtu 1500'


クライアント設定ファイルのtun-mtuが反映されないためtun-mtuを設定していませんでしたが、サーバー側と同じtun-mtu 1358を設定したところ、エラーが記録されなくなり通信のもたつきもなくなりました。

クライアント側のバージョンや設定を変更していなかったので、dd-wrt上のOpenVPNの処理が変更され、クライアント側のtun-mtuが反映されるようになったと思われます。

PageTop

ekoビルド版のOpenVPNもManagementポートが変更になっていました

WZR-HP-G300NHのOpenVPNはスクリプトのポートが変更されています でしたが、WLI-TX4-G54HPにインストールしているdd-wrt ekoビルド版もバージョンアップしてみました。

v24-sp2 (12/19/10) vpn-small - build 15943M NEWD Eko にバージョンアップしたところ、WZR-HP-G300NHとは違い、StateとLogは表示されましたが、Statusは表示されませんでした。
このため、OpenVPNの設定でmanagemnetポートを5001から5002に変更したところ、Statusも表示されるようになりました。

dd-wrtのOpenVPNではManagementポートを、Server:5002、Client:5001に分けることになったようです。

PageTop

WZR-HP-G300NHのOpenVPNはスクリプトのポートが変更されています

WZR-HP-G300NHでOpenVPNを設定しましたが、利用できてもWeb管理画面で動作情報が確認できませんでした。

チェックしていたところ、/etcにOpenVPNのスクリプトがいくつかありました。
それぞれ/usr/bin/nc でOpenVPN Management Interface を起動し、コマンドを応答で情報を取得していました。
openvpnlog.sh
 log 500
openvpnstate.sh
 state
openvpnstatus.sh
 satus 2
 html形式でstatusがかえる、これは表示される

このManagement Interfaceで接続するポートですが、WZR2-G108にインストールしたv24-sp2 (10/26/10) vpn-small - build 15508M NEWD Eko では、ServerとClientの区分けがなく5001です。
しかし、WZR-HP-G300NHにインストールした v24-sp2 (11/21/10) std - build 15778 では、スクリプトの中でServerとClienが分かれており、Serverは5002、Clientは5001になっていました。

このため、OpenVPNの設定で、management を 5002 に変更したところ、接続中クライアント情報は表示されるようになりました。

しかしこの設定でも、Serverの動作状態などは表示されませんでした。

つづきを表示

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