QA@IT

Linux(Debian squeeze)でad-hocな無線lanとeth0のネットワークを繋ぐには?

7068 PV

debian squeezeから無線lanをad-hocで別PCと繋ぎ、有線lanを別ネットワークに繋いでいます。
概略するとこんな感じです。

 +--+----+----------------+
     |    | 192.168.1.0/24   (eth0)         (wlan0)
     |    |                 192.168.1.1     192.168.1.2
     |    +--------------------[Linuxマシン]------ad-Hoc----[ad-HocPC]
     |192.168.1.4                                           192.168.1.3
    [netPC]

linuxマシンでプログラムを走らせ、ad-HocPCからTCPでデータを受信し、netPCにデータを送信したいのですが
現状だと当然ながら192.168.1.1から192.168.1.3にはpingが通りません。

色々調べて、LinuxマシンのIPをひとつにしてeth0とwlan0をブリッジ接続すればよいのかな?と思ったのですが
/etc/network/interfacesにeth0用の設定とwlan0用の設定を記述しながらブリッジさせる方法がわかりません。

クロスケーブルで繋いだPCとブリッジするなら

auto eth0
  iface eth0 inet static
    address 0.0.0.0

auto eth1
  iface eth1 inet static
    address 0.0.0.0

auto br0
  iface br0 inet static
    address 192.168.1.1
    netmask 255.255.255.0
    network 192.168.1.255
    bridge_ports eth0 eth1
    bridge_stp off

こんな感じでeth0とeth1には0.0.0.0を割り当てて、br0にネットワーク設定を記述しますが
ad-hocの場合はどうすればよいのでしょうか?

どなたかご教示お願いします。

現在の/etc/network/interfaces

auto eth0
 iface eth0 inet static
 address 192.168.1.1
 network 192.168.1.0
 netmask 255.255.255.0
 broadcast 192.168.1.255
 gateway 192.168.1.254

auto wlan0
 iface wlan0 inet static
 address 192.168.1.2
 wireless-channel 1
 wireless-essid MYADHOC
 wireless-mode ad-hoc

wpa_supplicant.conf

network={
  ssid="MYADHOC"
  mode=1
  frequency=2412
  key_mgmt=NONE
  wep_key0="wepkey"
}

ping結果

#ifdown eth0            ←eth0を落としてwlan0からping
#ping 192.168.1.3
PING 192.168.1.3 (192.168.1.3) 56(84) bytes of data.
64 bytes from 192.168.1.2: icmp_req=1 ttl=128 time=6.37 ms
64 bytes from 192.168.1.2: icmp_req=2 ttl=128 time=0.438 ms
64 bytes from 192.168.1.2: icmp_req=3 ttl=128 time=0.521 ms
--- 192.168.1.3 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2000ms
rtt min/avg/max/mdev = 0.438/2.444/6.373/2.778 ms
#
#ifup eth0
#ping 192.168.1.3        ←eth0からは通らない(ここを通るようにしたい)
From 192.168.1.1 icmp_seq=1 Destination Host Unreachable
From 192.168.1.1 icmp_seq=2 Destination Host Unreachable
From 192.168.1.1 icmp_seq=3 Destination Host Unreachable
--- 192.168.1.3 ping statistics ---
5 packets transmitted, 0 received, +3 errors, 100% packet loss, time 4005ms
pipe 3


  • セグメントが同じだから通っていない予感がしますが。 -
  • すみません。コメント(セグメントが同じだと通らない?)が理解しきれず…。セグメントが同じとは、eth0とwlan0のセグメントでしょうか?
    192.168.1.1と192.168.1.4間、192.168.1.2と192.168.1.3がpingが通ることは確認しています。
    -
  • 1と2が同じ 192.168.1.0/24 を利用しているためにどちらにも 192.168.1.3が存在できる状況だとおもいます。なので同じマシンである192.168.1.1と192.168.1.2は自分でつながっている方から探すわけです。なので192.168.1.1が探すと「いない」ということです。 -
  • 丁寧に説明して下さりありがとうございます。理解できました。
    ad-hoc側のセグメントを192.168.10.xに変更したら、eth0を立ち上げたままpingを通すことが出来ました!
    しかし今度はLinuxマシンの実行プログラムで、ad-hocPCにconnectしたままnetPCに繋ぐと、ad-hocPCとの接続がcloseしてしまう現象が発生しました。
    もう少し頑張ってみます。
    -

回答

ウォッチ

この質問への回答やコメントをメールでお知らせします。