![手動で設定したネットワーク ブリッジ (プライマリ インターフェイスが NetworkManager によって管理されていない) 経由で VPN を使用する方法を教えてください。](https://rvso.com/image/833375/%E6%89%8B%E5%8B%95%E3%81%A7%E8%A8%AD%E5%AE%9A%E3%81%97%E3%81%9F%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%20%E3%83%96%E3%83%AA%E3%83%83%E3%82%B8%20(%E3%83%97%E3%83%A9%E3%82%A4%E3%83%9E%E3%83%AA%20%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%95%E3%82%A7%E3%82%A4%E3%82%B9%E3%81%8C%20NetworkManager%20%E3%81%AB%E3%82%88%E3%81%A3%E3%81%A6%E7%AE%A1%E7%90%86%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%AA%E3%81%84)%20%E7%B5%8C%E7%94%B1%E3%81%A7%20VPN%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%E3%82%92%E6%95%99%E3%81%88%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82.png)
私は、デスクトップ上の KVM 仮想マシンを自宅のネットワークに接続するために使用するネットワーク ブリッジをセットアップしました。これは、ブリッジを手動で作成することで実行しました/etc/network/interfaces
(これは、最高のネットワーク パフォーマンスを得るための標準的な方法で、会社の仮想化サーバーで使用しています)。
ただし、これは NetworkManager が eth0 インターフェイスを管理しなくなり、VPN 接続のセットアップを拒否していることを意味します。
NM の代わりに接続できるアプリが見つかれば、それほど気にならなかったでしょう。しかし、残念ながら、何も見つかりませんでした。VPNkvpnc
クライアント用の GUI として説明されている というパッケージがありましたが、クラッシュし続けました。私が見た限りでは、機能する代替の VPN GUI はありませんでした。
他の人も同様の問題を抱えています:ネットワーク ブリッジ - ネットワーク マネージャーを破壊せずに しかし、その人は結局、別の VPN クライアントを探す代わりに、NM に戻ってブリッジではなくルーティングを設定することにしました。
何か案は?
編集: 現時点では PPTP を使用しており、将来的には OpenVPN が必要になる可能性があることを忘れていました。
答え1
さて、私はこうしてその周り問題:
1. ネットワークマネージャーを削除する
sudo apt-get remove network-manager
注: 免責事項についてはこの投稿の最後をお読みください
2. コマンドラインでpptpを設定する
pptpsetup
必要なすべての設定ファイルを設定する、という便利なツールを使用します。
走る:
sudo pptpsetup --create $your-connection --server se.rv.er.ip --username $pptp-username --encrypt
交換する :
- $your-connection に新しい接続の短い名前を代入します
- se.rv.er.ip は接続したいサーバーのIPです
- $pptp-username は接続ユーザーのユーザー名です
最初に sudo パスワードが求められ、次に pptpsetup が PPTP 接続のパスワードを要求します。パスワードを入力して Enter キーを押します。注意して、間違えないようにしてください。これで必要なすべての構成ファイルが作成されます。サーバーからプッシュされたデフォルト ルートを使用しない場合は、 という行を追加しnodefaultroute
ます/etc/ppp/peers/$connection-name
。
3. 手動で接続を開始および停止する
sudo pon your-connection
接続し、
sudo poff your-connection
切断します。
4. カスタムルートを自動的に追加および削除する場合:
次のような 2 つのスクリプトを作成します。
(ホームフォルダのどこかに置いてください。バックアップを忘れなければ /root でも大丈夫です)
pptp-on.sh:
#!/bin/bash
# This script connects us using pre-configured PPTP VPN,
# and then adds all the routes we specify here.
pon your-connection
a=$?
sleep 5
# add routes
if [ $a == 0 ]; then
# whatever routes you need
route add -net 192.168.1.0 netmask 255.255.255.0 dev ppp0
echo "Connected"
fi
exit $a
pptp-off.sh:
#!/bin/bash
poff your-connection
a=$?
# delete routes
if [ $a == 0 ]; then
#specify whatever routes you have here
route del -net 192.168.1.0 netmask 255.255.255.0 dev ppp0
echo "Disconnected"
fi
exit $a
これらは root が所有する必要があります: sudo chown root:root pptp-on.sh pptp-off.sh
。これらを実行可能にします:sudo chmod +x pptp-on.sh pptp-off.sh
これらに適切な名前を付けて、何のためにあるのかがわかるようにします。
5. デスクトップランチャーの作成
接続と切断のたびに手動でスクリプトを実行する代わりに、クリックするだけで使えるデスクトップランチャーが欲しかった。これを実現するために、それぞれとを実行する2つのデスクトップランチャーを作成しましたgksudo /path/to/pptp-on.sh
。gksudo /path/to/pptp-off.sh
私はMarian Lux-esを使用しました。ランチャーを作成するUbuntu のソフトウェア センターから入手できます。やり方については Google で検索してください。ここでは書きません (面倒なので)。
これで完了です。必要な数だけ異なる接続を設定でき、ランチャーを使用してすべて簡単にオン/オフにできます。追加の接続ごとに、すべての手順をもう一度実行します。
ただし、前述のように、これは修正ではなくソリューションであることに注意してください。修正は、NM がネットワーク ブリッジの組み込みサポートを取得したときに行われます。これは、私が正しく読んだ場合、13.04 ですでに実行されています。これは、私のように、12.04 をできるだけ長く使い続ける予定の人 (12.10 を試しましたが、ATI グラフィック カードとの互換性がない、バグが多いなど、大きな問題がありました)、または少なくとも次の LTS リリースまたは新しいハードウェアに移行するまで、12.04 を使い続ける予定の人を対象としています。