Procedure

ラズパイを有線LANの接続先にする

Procedure
この記事は約8分で読めます。
スポンサーリンク

ほとんどネタ被りってのもありますが・・・汗

ラズパイを有線LANの接続先にする方法です

 

 

ラズパイを家庭内の無線LANに接続し、有線LANのアクセス先にします

 

簡単に無線LAN接続する方法を記載しましたが(ここ)、試作用にOSを再インストールするときは有線LANに接続したほうが断然楽です

また、無線LANがオンボードでないRaspberrypi(初期)やRaspberrypi2でルーターが遠くにあるなんかはこの方法は便利だと思います

ほとんどQiitaに記載されている方法のため、ネタ被り感が半端ないです

基本はwlan0をlo0を入れ替えるだけです

参考:http://qiita.com/mt08/items/f2e4f9d3b1ed00849e23

 

こんな感じの接続方法

インターネット –> ルーター -無線LAN-> Raspberrypi3 -有線LAN-> 色々な機器

 

必要なもの

  • Raspberrypi3
  • 適当なスイッチングハブ

 

手順

ほんとQiitaと一緒なので簡単にかきます ※詳細はQiita参照(ここ)

 

いつものやつ

$sudo apt-get update
$sudo apt-get upgrade -y

 

dhcpサーバーのパッケージインストール

$sudo apt-get install -y hostapd isc-dhcp-server

 

dhcd.confの編集

$sudo nano /etc/dhcp/dhcpd.conf

#コメントアウト

# option definitions common to all supported networks...
#option domain-name "example.org";
#option domain-name-servers ns1.example.org, ns2.example.org;

#一番最後に記述
subnet 192.168.42.0 netmask 255.255.255.0 {
    range 192.168.42.10 192.168.42.30; #割り振れるアドレスが10~30まで
    option broadcast-address 192.168.42.255;
    option routers 192.168.42.1;
    default-lease-time 600;
    max-lease-time 7200;
    option domain-name "local";
    option domain-name-servers 8.8.8.8, 8.8.4.4;
}

 

isc-dhcp-serverの編集

$sudo nano /etc/default/isc-dhcp-server

# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
#       Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACES="eth0" #有線LANをdhcpにするためeth0にする

 

dhcpcd.confの編集

$sudo nano /etc/dhcpcd.conf

#最後に記述
#アドレスの固定
interface eth0
static ip_address=192.168.42.1/24

 

hostapd.confの編集

$sudo nano /etc/hostapd/hostapd.conf

interface=eth0
driver=nl80211
#driver=rtl871xdrv
ssid=******* #SSID 各自で編集
hw_mode=g
channel=6
ieee80211n=1
wmm_enabled=1
ht_capab=[HT40][SHORT-GI-20][DSSS_CCK-40]
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_key_mgmt=WPA-PSK
wpa_passphrase=******* #パスワード 各自で編集
rsn_pairwise=CCMP

 

hostapdの編集

$sudo nano /etc/default/hostapd


# file can be found at /usr/share/doc/hostapd/examples/hostapd.conf.gz
#
#下記の行のコメントアウトをはずす
DAEMON_CONF="/etc/hostapd/hostapd.conf"

 

sysctl.confの編集

$sudo nano /etc/sysctl.conf

# Uncomment the next line to enable TCP/IP SYN cookies
# See http://lwn.net/Articles/277146/
# Note: This may impact IPv6 TCP sessions too
#net.ipv4.tcp_syncookies=1

# Uncomment the next line to enable packet forwarding for IPv4
#下記の行のコメントアウトをはずす
net.ipv4.ip_forward=1

 

iptablesの設定

$sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
$sudo iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
$sudo iptables -A FORWARD -i wlan0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
$sudo iptables -A FORWARD -i eth0 -o wlan0 -j ACCEPT
$sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"

 

70-ipv4-natの編集

$sudo nano /lib/dhcpcd/dhcpcd-hooks/70-ipv4-nat
#追記
iptables-restore < /etc/iptables.ipv4.nat

 

再起動

$sudo reboot

 

サービスの開始と登録

$sudo service hostapd start
$sudo service isc-dhcp-server start
$sudo update-rc.d hostapd enable
$sudo update-rc.d isc-dhcp-server enable

 

isc-dhcp-serverの編集

case "$1" in
        start)
                test_config
                log_daemon_msg "Starting $DESC" "$NAME"
                #waitを入れる
                sleep 7

                start-stop-daemon --start --quiet --pidfile "$DHCPD_PID" \
                        --exec /usr/sbin/dhcpd -- \
                        -q $OPTIONS -cf "$DHCPD_CONF" -pf "$DHCPD_PID" $INTERFA$

 

これで終了です

有線LANで接続し、割り振られたIPをみると192.168.42.*で割り振られていると思います

MACアドレスを申請しなければならないネット環境でも、このようにネットワークを構築することで、MACアドレスを申請していないパソコンでもラズパイを返してネットワーク接続をすることができるようになりました

 

便利だと思うコマンド

  • ラズパイ上で割り振ったIPを確認するコマンド
$cat /var/lib/dhcp/dhcpd.leases

#こんなかんじででてくる
lease 192.168.42.10 {
 starts 1 2017/04/17 02:18:22;
 ends 1 2017/04/17 02:28:22;
 cltt 1 2017/04/17 02:18:22;
 binding state active;
 next binding state free;
 rewind binding state free;
 hardware ethernet 00:00:00:00:00:00; #macアドレス
 uid "*********************";
 client-hostname "android-a5273765c0f82141"; #ホストネーム
}

 

参考文献

  1. http://qiita.com/mt08/items/f2e4f9d3b1ed00849e23

コメント

タイトルとURLをコピーしました