手動で設定したネットワーク ブリッジ (プライマリ インターフェイスが NetworkManager によって管理されていない) 経由で VPN を使用する方法を教えてください。

手動で設定したネットワーク ブリッジ (プライマリ インターフェイスが NetworkManager によって管理されていない) 経由で VPN を使用する方法を教えてください。

私は、デスクトップ上の 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.shgksudo /path/to/pptp-off.sh私はMarian Lux-esを使用しました。ランチャーを作成するUbuntu のソフトウェア センターから入手できます。やり方については Google で検索してください。ここでは書きません (面倒なので)。

これで完了です。必要な数だけ異なる接続を設​​定でき、ランチャーを使用してすべて簡単にオン/オフにできます。追加の接続ごとに、すべての手順をもう一度実行します。

ただし、前述のように、これは修正ではなくソリューションであることに注意してください。修正は、NM がネットワーク ブリッジの組み込みサポートを取得したときに行われます。これは、私が正しく読んだ場合、13.04 ですでに実行されています。これは、私のように、12.04 をできるだけ長く使い続ける予定の人 (12.10 を試しましたが、ATI グラフィック カードとの互換性がない、バグが多いなど、大きな問題がありました)、または少なくとも次の LTS リリースまたは新しいハードウェアに移行するまで、12.04 を使い続ける予定の人を対象としています。

関連情報