タブレット(ワイヤレス)とブルーレイ(有線)をUbuntu 12.10の他の国の有料VPNサービスに接続できるように、OpenVPNルーターを設定しようとしています。 DD-WRT(遅すぎる)とPFSenseの仮想インスタンス(制限が大きすぎる)を使用してこれを正常に完了しました。
私はLinuxを初めて使用しますが、このプロジェクトは90%完了しています。ハードウェアは2つの有線イーサネットポートで、そのうちの1つは従来のホームルーターに接続され、ワイヤレスカードです。
これまでのところ..
現在の動作では、すべてのトラフィックがUbuntuマシンからVPNサーバーにルーティングされます。他のデバイスには接続性がなく、それが問題です。
私の質問/目標:
OpenVPNが実際のUbuntuコンピューターからのトラフィックではなく、VPNトンネルを介してブリッジ(192.168.10.xの下のデバイス)からのトラフィックのみを誘導するようにルーティングを構成するにはどうすればよいですか?
OpenVPNはいくつかのルートを自動的に設定しますが、設定したブリッジを無視するようです。
iptables
およびroute
に関するドキュメントをたくさん読みましたが、私にはほとんど意味がありません。複数のチュートリアルにもかかわらず、route
コマンドからの結果の読み方がまだわかりません。また、OpenVPN構成ファイルのroute-noexec
およびroute-up
でこれを達成できると思いますが、何も成功していません。
構成ファイルと設定がどこにあるかについての私の知識は限られています。上記のタスクには少なくとも30時間の調整が必要だったので、簡単に行ってください:)
ありがとう!
編集
ブリッジトラフィックを誘導するソリューションを以下に投稿しましたが、UbuntuコンピューターのトラフィックがVPNを通過するのを防ぎません。
これが理想的かどうかはわかりませんが、少なくとも機能しています。完璧な世界では、UbuntuコンピューターのトラフィックはVPNを経由せず、Ubuntuコンピューターに接続されたデバイスのみがルーティングされます。とにかく、ここに解決策があります。
openvpn.conf
ファイル内
script-security 2
up "/path/to/external/script.sh"
/path/to/external/script.sh
ファイル内
iptables -A FORWARD -o tun0 -i br0 -s 192.168.10.0/24 -m conntrack --ctstate NEW -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -F POSTROUTING
iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
上記では、tun0
はOpenVPNによって作成されたトンネル、br0
はローカルワイヤレスとローカルLANの間のブリッジ、192.168.10.0/24
はローカルLANのサブネット/ DHCPプールです。
このスクリプトが何をするのかわかりませんが、インターネット接続の共有に関するいくつかのサイトからまとめました。
より良いものを提供したい場合や、UbuntuコンピューターのトラフィックがVPNを通過するのを防ぐ方法を説明したい場合に備えて、この回答は未チェックのままにします。
ネットワーク上のすべてのデバイスが通過するように、ルーター自体をVPNサーバーに接続するように簡単に構成できます。これは、ルーターのソフトウェアWebインターフェースから実行できます。
PCに接続されたデバイスがインターネットにアクセスできるようにするには、そのPCから他のユーザーへのインターネット共有を行う必要があります。