2013年1月15日火曜日

Raspberry piのネットワーク分離

あまりネットワーク環境に依存せずにRaspberry piの開発をしていくために
PCをルータ化して、ローカルにRaspberry piを置く事にした。
概略としては、下記の3点です。

※申し訳ないです。ミスが見つかったので改訂致しました。(2013/01/30)

  • イーサネットの増設
  • Raspberry pi のIP固定
  • NATを用いてRaspberry piをローカル化する。

1.用意するもの
 ・PC
 ・Raspberry pi
 ・USBイーサネット
 ・LANケーブル 2本

2.手順

①PCのイーサネットを増設し、2個口にする。
※デバイス上は(eth0,eth1とする。)

②下記の図の様にLANケーブルと接続する。
ローカル
ゲートウェイ
ネット側
Raspberry pi
PC
ルータ




eth0 IP DHCP WAN




gateway ルータに依存

eth0 IP 192.168.168.1 LAN eth1 IP 192.168.168.168

gateway 192.168.168.168
gateway 0.0.0.0


③下記の様な構成で設定する。
PC (Ruter) ※LinuxDesktop(Ubuntu)の場合GUIで設定。 --------------------------------------------
$sudo vi /etc/network/interfaces
    auto eth0
    iface eth0 inet dhcp

    auto eth1
    iface eth1 inet static
      address 192.168.168.168
      netmask 255.255.255.0
      gateway 0.0.0.0
Raspberry pi (Client) ----------------------------------------------------------------------------------------------
$sudo vi /etc/network/interfaces
    auto eth0
    iface eth0 inet static
      address 192.168.168.1
      netmask 255.255.255.0
      gateway 192.168.168.168

④/etc/sysctl.conf を編集 (コメントを外す)
PC -----------------------------------------------------------------------------------------------------------------------
$sudo vi /etc/sysctl.conf
    net.ipv4.ip_forward=1

⑤network を再起動
PC -----------------------------------------------------------------------------------------------------------------------
$sudo service network-manager restart

⑥設定を確認
PC -----------------------------------------------------------------------------------------------------------------------
$sudo cat /proc/sys/net/ipv4/ip_forward
    1
 ※「0」の時は④から見直しやOSの再起動

⑦iptables で IP masquerade の設定(下記の一文を追加)
PC -----------------------------------------------------------------------------------------------------------------------
$sudo vi vim /etc/iptables
 *filter
:INPUT ACCEPT [17:2058]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [16:1600]
COMMIT
*nat
:PREROUTING ACCEPT [1:251]
:INPUT ACCEPT [1:251]
:OUTPUT ACCEPT [1:60]
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT

⑧network を再起動
PC -----------------------------------------------------------------------------------------------------------------------
$sudo service network-manager restart

⑨pingがRaspberry piからゲートウェイに通るかテスト
Raspberry pi ---------------------------------------------------------------------------------------------------------
pi@raspberry$ping 192.168.168.168

⑩起動時に IP masquerade が有効になるように設定
PC -----------------------------------------------------------------------------------------------------------------------
$su
#iptables-save > /etc/iptables
#vi /etc/network/if-pre-up.d/iptables
    #!/bin/sh
    /sbin/iptables-restore < /etc/iptables

実行権限を付与する。
PC -----------------------------------------------------------------------------------------------------------------------
$sudo chmod 755 /etc/network/if-pre-up.d/iptables

⑫network を再起動
PC -----------------------------------------------------------------------------------------------------------------------
$sudo service network-manager restart
以上でRaspberry piがWANと接続しながらsshログイン出来る環境ができる。

0 件のコメント:

コメントを投稿