Select Your Language

免責事項

  • 本サイトの情報の利用、内容、サービスによって、利用者にいかなる損害、被害が生じても、著者は一切の責任を負いません。ユーザーご自身の責任においてご利用いただきますようお願いいたします。

    本サイトで頒布している基板およびキットは、技術者、またはそれに準ずる電気的知識をお持ちの電子工作ファンの方のためのものです。 一般のオーディオファンの方のためのものではありません。
    また、頒布基板およびキットは、いかなる条件でも動作を保証するものではございませんので、あらかじめご了承ください。

    電子工作では、火傷、感電、火災などの可能性があります。 十分に注意をして作業して下さい。

    営利目的のご使用は認めておりません。  記事の転載や、基板・キットの商用利用の方は、ご連絡ください。
    学生やサークルの学習目的でまとめてご購入する場合は特別なコースをご用意させていただきます。

スポンサー

« オープンソースカンファレンス初参加レポート | トップページ | アレキサンダー電流帰還アンプ × MUSES02 »

2017年9月16日 (土)

Raspbian stretch でIPアドレスを固定する方法

RaspbianがStretch にバージョンアップしてIPアドレスを固定する方法が分かりにくくなりました。

ご存知の方も多いとは思いますが、実は、以前からIPアドレスを固定するのに /etc/network/interfaces を編集しないで /etc/dhcpcd.conf を編集して下さいとのメッセージが書いてありました。

Ip_static1

この画面はStretchの/etc/network/interfaces です。 

 

とりあえず、/etc/dhcpcd.conf を開いてみると下記のように書いてあります。

# Example static IP configuration:
#interface eth0
#static ip_address=192.168.0.10/24
#static routers=192.168.0.1
#static domain_name_servers=192.168.0.1 8.8.8.8

# It is possible to fall back to a static IP if DHCP fails:
# define static profile
#profile static_eth0
#static ip_address=192.168.1.23/24
#static routers=192.168.1.1
#static domain_name_servers=192.168.1.1

# fallback to static profile on eth0
#interface eth0
#fallback static_eth0

青文字の部分のコメント化をといて(#を削除)指定したいIPアドレスにすればOKと思いますよね。 でも、それだけじゃダメなんです。

理由は eth0 が無いから。

Ip_static2

なんと、Raspbian Stretchでは、eth0の代わりにmacアドレスを使った固有の番号が割り当てられています。

ifconfigで調べられます。 上の図で enx****** と書いてあるやつ。

ということで、 /etc/dhcpcd.conf を編集して

interface enx*******(固有)
static ip_address=
192.168.1.100/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.1

という具合に設定してあげればOKです。  ピンク文字はご自身の環境に合わせてください。

 

 

でも、私は起動を高速にするために
DHCPクライアント(dhcpcd)を止めたいのですよ。 

当然 dhcpcdを止めると /etc/dhcpcd.conf に書かれたものも読み込まれません。 そうしてIPアドレスは無くなりDHCPクライアントもとまっているので、RaspberryPi がネットワークに繋がらなくなってしまいます。 こんな罠があって、最初、dhcpcdを止めるとなぜ繋がらなくなるのか分かりませんでした。 

 

結局、/etc/network/interfaces を編集することになります。

auto lo
iface lo inet loopback

allow-hotplug enx*******(固有)
iface enx*******(固有) inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1

とすることで解決です。 

この方法が、はたして正しいのかどうかは不明ですけど、無事にDHCPクライアントを止めることが出来ました。 dhcpcdサービスをを止めるには、

sudo systemctl disable dhcpcd

というコマンドを打てばOKです。

 

さてさて、調べているなかで、macアドレスを利用した固有番号をやめて従来のeth0にするという方法もあるようです。 
上記の方法だと、SDカードを別のRaspberryPiに挿したときにネットワークに繋がらないので、eth0 の方が使勝手が良いでしょうね。 

 

/boot/cmdline.txt  の末尾に

net.ifnames=0

を追記することで eth0 に戻せます。 これでenx******と書かなければいけない所をeth0にできます。

万事解決(?)ということで、皆様のお役に立てれば幸いです。

 

 

 

にほんブログ村 PC家電ブログ PCオーディオへ にほんブログ村
ブログランキングに参加中です。 めざせ1位! 
もしよろしければ「ぽちっと」お願いします。 

« オープンソースカンファレンス初参加レポート | トップページ | アレキサンダー電流帰還アンプ × MUSES02 »

Raspberry Pi」カテゴリの記事

コメント

たかじんさん、貴重な情報ありがとうございます。
デバイス名の表記方法が変わっているのですね。着脱式のアダプタの利用を想定して、一意性を維持するためのものでしょうか。fstabの記述がuuidに変わってきているのと同じようなものかな?と思います。
 ifconfigで確認できますが、blkidのようなツールがあればいいですね。

 同じStretchといっても、新規インストールの場合と、旧バージョンからのアップデートでは、だいぶ様子が違うことが分かり勉強になりました。

kojiさん

その通りです。 どこかに書いてありました。eth0、eth1という記述だとデバイスが入れ替わってしまうので、固定したいというのが理由のようです。

メジャーアップデート時は、旧バージョンからのアップデートではなく新規インストールの方が不具合が少ないかもしれませんね。 他に不具合など隠れている可能性もあります。

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/587107/65796815

この記事へのトラックバック一覧です: Raspbian stretch でIPアドレスを固定する方法 :

« オープンソースカンファレンス初参加レポート | トップページ | アレキサンダー電流帰還アンプ × MUSES02 »

サイト内検索

Sponsors link

2017年10月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

最近のトラックバック

無料ブログはココログ