Help us understand the problem. What is going on with this article?

Raspberry Piにルーター設備なしで接続する

More than 5 years have passed since last update.

Raspberry Pi2(以下ラズパイ)をルーター設備なしで接続する方法です。

有線を固定IPにしているラズパイとMacを直結通信する

例えばラズパイが192.168.1.5で固定していたとします。Macのシステム環境設定>ネットワーク>EthernetをIP固定で図のように192.168.1.1とし、LANケーブルを直結すると、ping 192.168.1.5が通るようになるようです。
ここでssh等で侵入すれば/etc/network/interfaceを書き換えてもう一度dhcpに戻すこともできました。

  • ちなみにクロスケーブルは不要でストレートケーブルでOKでした。
  • Mac側の末尾が192.168.1."1"でなければいけない理由もない気はしますが、とりあえず自分は1で作業しました。
  • ルーターという項目は何も書かなくてOKでした。サブネットマスクも不要だったのかも。

20151118_direct.png

有線をDHCPにしているラズパイとMacをEthernetで直結し、Mac側のWi-Fiをブリッジして外界に出る

Macのシステム環境設定>共有から次の設定でインターネット共有をします。

  • 共有する接続経路: Wi-Fi
  • 相手のコンピュータが使用するポート: Ethernet
  • インターネット共有: チェックする

20151118_share.png

すると、ラズパイとMacをEthernetで直結すると、おそらくラズパイが192.168.2.2として見れるようになるはずです。しかもsshでラズパイに入ってそこから外界に出ることができます。これはMacのWi-Fiをブリッジしていることになります。

ちなみにDHCPにしなければいけない理由は、Macでこの共有という機能を使うと勝手に「自分が192.168.2.1, 相手は192.168.2.2~254のDHCP」という状態になるからです。つまり複数台を接続しないならばクライアント側は192.168.2.2〜254を決め打った固定IPでもよいはず…。この辺りはこちらの先輩の記事を参考にしました。ちなみに未確認ですがWindowsで同じようなことをやると192.168.0.0/24になるそうで

共有できないとき(1)

共有が正しく有効になった場合、Mac側でifconfig | grep bridgeとすると、bridge100という(仮想)デバイスができるようですが、これが出ないケースがあります。これがないとDHCPサーバーとして動かないようで、ラズパイが接続してきてくれません。

このケースでは、共有する経路(上の例ではWi-Fi)がきちんと外界につながっているかを確認してみてください。ラズパイと接続するだけなら外界がつながっている必要はないと思うのですが、実際には必要になるようです。

共有できないとき(2)

既に共有できているところからラズパイをrebootしたら、そのあと数分待ってもラズパイ(192.168.2.2)に接続できないケースがありました。このラズパイはavahiでraspberrypi.localも名乗っているのですが、それもだめ。この場合はMac側のEthernetケーブルを一度抜き差ししたら10秒程度で再接続できるようになりました。

共有できないとき(3)

正確には、共有ができても外に出られないケースがありました。これはラズパイに配布したMacのEthernet接続部分に何もDNSサーバーがセットされていないときに起こります(共有時にIPアドレスとかの設定は見ないのに、DNSサーバーは見てるらしい)。これを8.8.8.8などに設定すれば外に出られるようになりました。こちらに情報を参考にしています

20151119_dns.png

yasuraok
C++とPythonの周辺で音をいじっています。最近転職してJavaScriptも触るようになりました。開発で困った時こそ共有したい。
https://twitter.com/yasuraok
hylable
対面とオンラインの話し合いを可視化するクラウドサービスを開発・運営するスタートアップです。
https://www.hylable.com
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away