- PR -

有線LAN、無線LANの優先順位について

投稿者投稿内容
BackDoor
ぬし
会議室デビュー日: 2006/02/20
投稿数: 831
投稿日時: 2007-03-08 09:36
情報提供ありがとう。ようやく状況が見えました。

引用:
Jumpin' Jack Flashさんの書き込み (2007-03-06 22:53) より:

OpenVPNでLAN環境に接続しているのですが、最近、無線LANを導入したことにより、
問題が発生しています。

環境: Windows XP Professional + OpenVPN 2.0.5 GUI 1.0.3

有線LSNと無線LANが同居する環境です。
通常、有線、無線、共に接続されるようです。
この状態ですと、OpenVPNに不具合があるようです。
具体的には、接続はできるのですが、VPN-LAN環境にpingが通りません。
つまり、ネットワークのルーティングに異常が出る模様です。
試しに、無線LANを無効にすると、ちゃんとpingが通ります。
有線LAN: 無効、無線LAN: 有効の状態でもちゃんとpingが通ります。

質問: LANの接続に優先順位を付けたいのですが可能であれば、方法を教えてください。

「有線LAN(ローカル エリア接続)が接続可能であれば、そちらを優先し、無線LAN
 (ワイヤレス ネットワーク接続)は接続しない。有線LANが接続不可であれば、
 無線LANに接続する。」というような設定にしたいです。


異常状態になったときのステータスが

引用:
Jumpin' Jack Flashさんの書き込み (2007-03-08 00:06) より:

有線、無線、共に友好で、OpenVPN接続に異常が発生している
ときの情報です。
>ipconfig /all
コード:
Windows IP Configuration

        Host Name . . . . . . . . . . . . : user
        Primary Dns Suffix  . . . . . . . : hoge.jp
        Node Type . . . . . . . . . . . . : Hybrid
        IP Routing Enabled. . . . . . . . : No
        WINS Proxy Enabled. . . . . . . . : No
        DNS Suffix Search List. . . . . . : hoge.jp
                                            hoge.jp
                                            hoge.jp
                                            hoge.jp

Ethernet adapter ワイヤレス ネットワーク接続:

        Connection-specific DNS Suffix  . : hoge.jp
        Description . . . . . . . . . . . : 11a/b/g Wireless LAN Mini PCI Adapter
        Physical Address. . . . . . . . . : 00-05-4E-45-5C-50
        Dhcp Enabled. . . . . . . . . . . : Yes
        Autoconfiguration Enabled . . . . : Yes
        IP Address. . . . . . . . . . . . : 192.168.0.101
        Subnet Mask . . . . . . . . . . . : 255.255.255.0
        Default Gateway . . . . . . . . . : 192.168.0.1
        DHCP Server . . . . . . . . . . . : 192.168.0.1
        DNS Servers . . . . . . . . . . . : 192.168.0.1
        Lease Obtained. . . . . . . . . . : 2007年3月7日 23:40:09
        Lease Expires . . . . . . . . . . : 2007年3月8日 23:40:09

Ethernet adapter ローカル エリア接続:

        Connection-specific DNS Suffix  . : hoge.jp
        Description . . . . . . . . . . . : Intel(R) PRO/1000 MT Mobile Connection
        Physical Address. . . . . . . . . : 00-0A-E4-2E-C7-49
        Dhcp Enabled. . . . . . . . . . . : Yes
        Autoconfiguration Enabled . . . . : Yes
        IP Address. . . . . . . . . . . . : 192.168.0.100
        Subnet Mask . . . . . . . . . . . : 255.255.255.0
        Default Gateway . . . . . . . . . : 192.168.0.1
        DHCP Server . . . . . . . . . . . : 192.168.0.1
        DNS Servers . . . . . . . . . . . : 192.168.0.1
        Lease Obtained. . . . . . . . . . : 2007年3月7日 23:39:17
        Lease Expires . . . . . . . . . . : 2007年3月8日 23:39:17

Ethernet adapter TAP-Win32アダプタ:

        Connection-specific DNS Suffix  . : hoge.jp
        Description . . . . . . . . . . . : TAP-Win32 Adapter V8
        Physical Address. . . . . . . . . : 00-FF-64-55-E5-2B
        Dhcp Enabled. . . . . . . . . . . : Yes
        Autoconfiguration Enabled . . . . : Yes
        IP Address. . . . . . . . . . . . : 192.168.1.200
        Subnet Mask . . . . . . . . . . . : 255.255.255.0
        Default Gateway . . . . . . . . . : 192.168.1.1
        DHCP Server . . . . . . . . . . . : 192.168.1.0
        DNS Servers . . . . . . . . . . . : 192.168.1.3
        Lease Obtained. . . . . . . . . . : 2007年3月7日 23:43:29
        Lease Expires . . . . . . . . . . : 2008年3月6日 23:43:29




根本原因ですが、私の質問中に含まれていた
>Q1.無線LANと有線LANは同一セグメントなのでしょうか?
ここです。「ワイヤレス ネットワーク接続」と「ローカル エリア接続」が
同一セグメントになっています。

これが何故問題かというと
[NT]同一ネットワークに複数のアダプタを接続した場合の障害
を参照して下さい。

単純な解決法ですが、当初の要望
>「有線LAN(ローカル エリア接続)が接続可能であれば、そちらを優先し、無線LAN
> (ワイヤレス ネットワーク接続)は接続しない。有線LANが接続不可であれば、
> 無線LANに接続する。」というような設定にしたいです。
を都度手動で切り替える方法が妥当かと思われます。

強いて自宅の無線側を192.168.2.0/24等別セグメントにする案も
考えられますが、OpenVPNの設定上、複数NIC対応が可能であるか
までは未確認です。

たらお
大ベテラン
会議室デビュー日: 2006/12/25
投稿数: 206
お住まい・勤務地: 東京・永代通り
投稿日時: 2007-03-08 09:47
有線経路となるマスクの長い順、アドレスの小さい順に並べてみました。

コード:
  255.255.255.255  255.255.255.255    192.168.0.100   192.168.0.100       1
  255.255.255.255  255.255.255.255    192.168.0.101   192.168.0.101       1
  255.255.255.255  255.255.255.255    192.168.1.200   192.168.1.200       1
◇ブロードキャストの行き先は、有線LANへ。または全部のインターフェイスへ。

    192.168.0.100  255.255.255.255        127.0.0.1       127.0.0.1       10
    192.168.0.101  255.255.255.255        127.0.0.1       127.0.0.1       25
    192.168.1.200  255.255.255.255        127.0.0.1       127.0.0.1       30

    192.168.0.255  255.255.255.255    192.168.0.100   192.168.0.100       10
    192.168.0.255  255.255.255.255    192.168.0.101   192.168.0.101       25
    192.168.1.255  255.255.255.255    192.168.1.200   192.168.1.200       30
◇ローカルブロードキャストは、無線LANには流れない。

      192.168.0.0    255.255.255.0    192.168.0.100   192.168.0.100       10
      192.168.0.0    255.255.255.0    192.168.0.101   192.168.0.101       25
      192.168.1.0    255.255.255.0    192.168.1.200   192.168.1.200       30

      192.168.1.0    255.255.255.0      192.168.1.1   192.168.1.200       1
◇この行は不自然。OpenVPNの作法か?

        127.0.0.0        255.0.0.0        127.0.0.1       127.0.0.1       1

        224.0.0.0        240.0.0.0    192.168.0.100   192.168.0.100       10
        224.0.0.0        240.0.0.0    192.168.0.101   192.168.0.101       25
        224.0.0.0        240.0.0.0    192.168.1.200   192.168.1.200       30
◇マルチキャストは、有線LANへ。

          0.0.0.0        128.0.0.0      192.168.1.1   192.168.1.200       1
        128.0.0.0        128.0.0.0      192.168.1.1   192.168.1.200       1
◇良く分からない経路。興味深い。OpenVPN関連。

          0.0.0.0          0.0.0.0      192.168.0.1   192.168.0.100       10
          0.0.0.0          0.0.0.0      192.168.0.1   192.168.0.101       25
◇存在するものの、前項により無効となっている経路。

Default Gateway:       192.168.1.1  論理的に整合性はあるが、これでいいのか。




と言うことで、問題はOpenVPNの設定にありそうです。

_________________
_福田太郎_
たらお
大ベテラン
会議室デビュー日: 2006/12/25
投稿数: 206
お住まい・勤務地: 東京・永代通り
投稿日時: 2007-03-08 11:19
少し頭を冷やしました。

OpenVPNについて調べてみたところ、
クライアントのホストを、サーバーのセグメント上に
仮想ホストとして存在させるイメージですね。

通信対象のホスト(IP:192.168.1.100)
 |
 |  ┌‥‥仮想クライアント(IP:192.168.1.200)
 |  :
(サーバセグメント)─OpenVPNサーバ(認証/カプセリング)
 |  :
 |  :
(中継網)
 |  :
 |  :
(クライアントセグメント)
 |  :
 └─クライアント(IP:192.168.0.200)


BackDoorさんと内容がかぶりますが、解決方針は三択だと思われます。

◇1.構成変更策:ネットワークセグメントを分けて解決する
件での構成では、VPNクライアントのIPアドレスが有線と無線で微妙に違っても、
VPNサーバとの認証ができていることから、有線LANと無線LANのセグメントが違っても、
問題ないと思われます。

◇2.運用回避策:有線/無線片方のNICのみ有効にする
モバイル用のノートPCなどでは、消費電力の関係から、
少しでも通電デバイスを減らしたい場合もありますので、
こちらも考慮範囲だと思います。
もっとも、これを避けたいゆえのご質問でしょうけど。
最近のノートPCは、両方ともオンボードだったりしますしね。

◇3.経路精査策:設定を追い込んで解決する
一見不可能のようですが、できそうな気もします。
研究対象として非常に興味がありますが、解決優先なら前項をお選びください。

また、2.と3.の折衷案は可能ですが、1.を選ぶと後戻りできません。
でも1.で解決するなら、全てスッキリしてしまいます。

_________________
_福田太郎_
Jumpin'' Jack Flash
大ベテラン
会議室デビュー日: 2006/01/24
投稿数: 198
投稿日時: 2007-03-08 12:17
皆様、解決策のご提示ありがとうございます。
その論理的な導出手法に感心しております。

既にとても勉強になっているのですが、もしお付き合いいただけるのならば、
引用:

◇3.経路精査策:設定を追い込んで解決する
一見不可能のようですが、できそうな気もします。
研究対象として非常に興味がありますが、解決優先なら前項をお選びください。


こちらで対応したいです。
研究対象としてお使いくださいませ。
ただ、私は今ルーティングテーブルの読み方を勉強しているレベルですが。

ズバリ、route printの結果がどうなれば、正しいのでしょうか?

社内LAN側の設定も私の判断で変えられますので、何か試したければ言ってください。

会社ネットワーク環境
コード:

 (インターネット)
    │
    │
    │
  (社内LAN)
IP:192.168.1.0/24
  [ルータ]
IP:192.168.1.1
    │
    ├────────┐
    │        │
IP:192.168.1.2   IP:192.168.1.3
 [OpenVPNサーバ]  [DNSサーバ]



OpenVPNサーバ:CentOS-4、OpenVPN-2.0.9

■/etc/openvpn/server.conf
----
port 1194
proto udp
dev tap0
ca ca.crt
cert server.crt
key server.key
dh dh1024.pem
ifconfig-pool-persist ipp.txt
server-bridge 192.168.1.1 255.255.255.0 192.168.1.200 192.168.1.249
push "route 192.168.1.0 255.255.255.0" # ※1
push "redirect-gateway def1" # ※2
push "dhcp-option DOMAIN hoge.jp"
push "dhcp-option DNS 192.168.1.3"
client-to-client
keepalive 10 120
tls-auth ta.key 0
comp-lzo
user nobody
group nobody
persist-key
persist-tun
status /var/log/openvpn-status.log
log /var/log/openvpn.log
log-append /var/log/openvpn.log
verb 3
management localhost 7505
crl-verify crl.pem
----

引用:

192.168.1.0 255.255.255.0 192.168.1.1 192.168.1.200 1
◇この行は不自然。OpenVPNの作法か?


※1の設定が影響している?

※1
コード:

# クライアントにサーバ側ネットワークへの経路を伝えるための設定
# 書式:push “route [OpenVPNサーバ側のネットワークアドレス] [ネットマスク]”
push "route 192.168.1.0 255.255.255.0"



※2
引用:

LAN(VPN)内のゲートウェイをデフォルトゲートウェイとして使用するようにする設定。
この設定により、VPNサーバ宛てのパケット、つまりトンネルの維持に使用するパケット
だけを実NICのゲートウェイから流し、それ以外のインターネット宛てのパケットは
LAN経由で流れるようにルーティングテーブルが変更される。
この1行がないとVPN宛てのパケット以外は実NICに設定されたゲートウェイから流れて
しまい、身元の隠蔽が出来なくなってしまう。


という記述がありました。

クライアントPC
■client.ovpn
は帰宅後に貼り付けます。


[ メッセージ編集済み 編集者: Jumpin' Jack Flash 編集日時 2007-03-08 12:18 ]
BackDoor
ぬし
会議室デビュー日: 2006/02/20
投稿数: 831
投稿日時: 2007-03-08 13:37
・・・。

引用:
Jumpin' Jack Flashさんの書き込み (2007-03-08 12:17) より:

もしお付き合いいただけるのならば、
引用:

◇3.経路精査策:設定を追い込んで解決する
一見不可能のようですが、できそうな気もします。
研究対象として非常に興味がありますが、解決優先なら前項をお選びください。


こちらで対応したいです。
研究対象としてお使いくださいませ。


私は降ります。(個人的には推奨しかねますので)
既にご存知かも知れませんがOpenVPNで構築するリモートアクセス環境を見て
頑張って下さい。

たらお様、後は宜しく。
たらお
大ベテラン
会議室デビュー日: 2006/12/25
投稿数: 206
お住まい・勤務地: 東京・永代通り
投稿日時: 2007-03-08 14:18
茨の道を選ばれますか。
つきつめたら、OSやアプリの仕様の壁があるかもしれませんので、ご理解ください。
でも経路制御が自由自在になれば、新たな道が開けますよ。

ではまずは、経路の読み方と優先ロジックを簡単に説明します。
一般的なホストの経路情報(ルーティングテーブル)は以下の5項目を含みます。

1.宛先ネットワーク
2.ネットマスク(※最重要)
3.ゲートウェイ
4.送出インタフェイス
5.メトリック

ルータなどの中継機器の場合は、さらに経路種別が加わります。
RIP、OSPF、BGP、Staticなどの優先度を設定できます。


優先順位は
1.ロンゲストマッチ
宛先が同じなら、より長いマスクの経路情報に整合する経路を採用します。

例) A)0.0.0.0 mask 0.0.0.0 と B)128.0.0.0 mask 128.0.0.0 の2つの経路なら、
宛先64.1.1.1 へは経路Aが選択され、宛先192.1.1.1へは経路Bが選択されます。

2.メトリック
宛先もマスクも同じなら、より小さいメトリックの経路情報を採用します。

例) A)0.0.0.0 mask 0.0.0.0 metric10と B)0.0.0.0 mask 0.0.0.0 metric20
の2つの経路なら、常に経路Aが選択されます。


で、まずは、route delete で無線LANの経路を一つづつ消していけばいいと思います。
全部消しても動作しないなら、道は長そうです。
どこかで動作するポイントがあれば、ラッキーですね。



_________________
_福田太郎_
Jumpin'' Jack Flash
大ベテラン
会議室デビュー日: 2006/01/24
投稿数: 198
投稿日時: 2007-03-08 17:19
BackDoor様、ご助言ありがとうございました。
また、お目にかかる機会がございましたらどうぞよろしくお願いいたします。
#このスレッドを見守っていただければ幸いです。

たらお様、ルーティングテーブルの解説ありがとうございました。

引用:

で、まずは、route delete で無線LANの経路を一つづつ消していけばいいと思います。
全部消しても動作しないなら、道は長そうです。
どこかで動作するポイントがあれば、ラッキーですね。



たらお様に並び替えていただいた
コード:
  255.255.255.255  255.255.255.255    192.168.0.101   192.168.0.101       1
    192.168.0.255  255.255.255.255    192.168.0.101   192.168.0.101       25
      192.168.0.0    255.255.255.0    192.168.0.101   192.168.0.101       25
        224.0.0.0        240.0.0.0    192.168.0.101   192.168.0.101       25
          0.0.0.0          0.0.0.0      192.168.0.1   192.168.0.101       25


この順で、上から1つづつ消していけばよろしいでしょうか。

帰宅後にやってみます。

ふと、疑問に思いましたが、
この方法で解決した場合、route delしたり、addしたりの運用回避になるのですか?
Jumpin'' Jack Flash
大ベテラン
会議室デビュー日: 2006/01/24
投稿数: 198
投稿日時: 2007-03-09 03:27
すいません、経路の消し方がわかりません...

route deleteの書式は
コード:

route delete [宛先ネットワーク] mask [ネットマスク]


ですから、
コード:

255.255.255.255 255.255.255.255 192.168.0.101 192.168.0.101 1


これを消すには、
コード:

route delete 255.255.255.255 mask 255.255.255.255

???route: bad destination address 255.255.255.255

コード:

route delete 192.168.0.101 mask 255.255.255.255

???The route specified was not found.

うーん、わからない...

#申し訳ございませんが、土曜日の夜までオフラインになります。


[ メッセージ編集済み 編集者: Jumpin' Jack Flash 編集日時 2007-03-09 03:29 ]

スキルアップ/キャリアアップ(JOB@IT)