[Ubuntu][Network][自分用メモ] 今更ながらUbuntuのSystemdの場合のネットワークインターフェイスの命名規則を調べてみた。

    • 2015/05/21 10:38:16
    • Category: Ubuntu
     
    • 最終更新日時:2015/05/21 10:39:03


    RHEL7/CentOS7になってからネットワークインターフェイスの命名規則が変わったのは周知の事実ですが、Systemdに切り替わったUbuntu 15.04も同じなのかなぁと思って実際に環境を変更してみました。

    元々自宅にある環境はDellのServerで動作しているのですが、RHEL/CentOSの場合はbiosdevnameによって他のマシンとは違う命名規則によって命名されるらしいのです。
    #これ、今まで知りませんでした。

    RHEL7/CentOS7:
    一般のマシン: Predictable Network Interface Name(予測可能な命名)
    DELL製のハードウェア: biosdevnameによる「em<port>」

    やはりSystemdに切り替わったので、systemd/udevの命名規則にしたい場合は以下のようにするそうです。

    1. 先に命名規則がどうなるか調べる
    $ sudo udevadm test-builtin net_id /sys/class/net/eth1
    calling: test-builtin
    === trie on-disk ===
    tool version: 219
    strings 1723288 bytes
    nodes 5082488 bytes
    Load module index
    Network interface NamePolicy= disabled on kernel command line, ignoring.
    timestamp of '/etc/systemd/network' changed
    timestamp of '/lib/systemd/network' changed
    Parsed configuration file /lib/systemd/network/99-default.link
    Created link configuration context.
    ID_NET_NAME_MAC=enx60eb6907d9a1
    ID_OUI_FROM_DATABASE=Quanta computer Inc.
    ID_NET_NAME_PATH=enp5s0f1
    Unload module index
    Unloaded link configuration context.

    2. rulesファイルでインターフェイスを縛っている場合は、該当するインターフェイスをコメント扱いする。
    $ ls -l /etc/udev/rules.d/70-persistent-net.rules 
    -rw-r--r-- 1 root root 855 May 19 20:09 /etc/udev/rules.d/70-persistent-net.rules

    3. 本来であれば以下のように解釈されるのを、biosdevnameを無効、systemd/udevを有効にする。
    ユーザの指定 > persistent-net > biosdevname > systemd > write_net_rules
    13行目のGRUB_CMDLINE_LINUXに、biosdevname=0 net.ifnames=1を追記する。
    $ head -15 /etc/default/grub
    # If you change this file, run 'update-grub' afterwards to update
    # /boot/grub/grub.cfg.
    # For full documentation of the options in this file, see:
    # info -f grub -n 'Simple configuration'

    GRUB_DEFAULT=0
    #GRUB_HIDDEN_TIMEOUT=0
    GRUB_HIDDEN_TIMEOUT_QUIET=true
    GRUB_TIMEOUT=2
    GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
    GRUB_CMDLINE_LINUX_DEFAULT="nomodeset transparent_hugepage=always acpi=force"
    GRUB_CMDLINE_LINUX="intel_iommu=on pci=assign-busses biosdevname=0 net.ifnames=1"

    # Uncomment to enable BadRAM filtering, modify to suit your needs
    # This works with Linux (no patch required) and with any kernel that obtains

    4. GRUBを更新する。
    sudo update-grub2

    5. interfacesファイルを修正しておく。
    sudo vi /etc/network/interfaces
    auto enp5s0f1
    iface enp5s0f1 inet manual

    auto enp4s0f0
    iface enp4s0f0 inet manual
    bond-master bond1
    mtu 9000

    auto enp4s0f1
    iface enp4s0f1 inet manual
    bond-master bond1
    mtu 9000

    auto bond1
    iface bond1 inet static
    bond-miimon 100
    bond_downdelay 100
    bond_updelay 100
    bond-mode 2
    bond-slaves enp4s0f0 enp4s0f1
    bond-xmit-hash-policy layer2+3

    address 10.0.0.254
    netmask 255.255.255.0
    network 10.0.0.0
    broadcast 10.0.0.255


    6. 再起動してみる。

    7. インターフェイスが新しい命名で上がってきているか確認する。
    enp5s0f0  Link encap:Ethernet  HWaddr 60:eb:69:07:d9:a0  
    inet6 addr: fe80::62eb:69ff:fe07:d9a0/64 Scope:Link
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
    RX packets:146460 errors:0 dropped:4 overruns:0 frame:0
    TX packets:139281 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:13661200 (13.6 MB) TX bytes:11452647 (11.4 MB)
    Memory:df6e0000-df6fffff

    enp5s0f1 Link encap:Ethernet HWaddr 60:eb:69:07:d9:a1
    inet6 addr: fe80::62eb:69ff:fe07:d9a1/64 Scope:Link
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
    RX packets:35843 errors:0 dropped:3 overruns:0 frame:0
    TX packets:23189 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:6527319 (6.5 MB) TX bytes:2756982 (2.7 MB)
    Memory:df620000-df63ffff

    ちなみにうちの環境の場合の命名は以下のように決まった模様。

    PredictableNetworkInterfaceNames /
    http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/
    ハードウェアのコネクタの物理的/地理的位置を組み込んだ名前、らしいです。
    enはイーサネット、pはphysical? sとfが何に該当するのかわからなかったです。ご存知のかたがいれば教えていただけると助かります。

    mrwk update: systemd-udevdによるNIC命名とbiosdevnameがまざって混乱する件 /
    http://moriwaka.blogspot.com/2014/05/systemd-udevdnicbiosdevname.html

    RHEL7のNICのネーミングルール - めもめも /
    http://enakai00.hatenablog.com/entry/20140728/1406504163


    関連記事


    Pagination

    Trackback

    Trackback URL

    https://kometchtech.blog.fc2.com/tb.php/1871-8cdd5c53

    Comment

    Post Your Comment

    コメント登録フォーム
    公開設定

    Utility

    Profile

    kometch

    Author:kometch
    なんちゃってエンジニアです。
    2009年10月から業務都合により大阪勤務になりました。
    2010年1月、HYBRID W-ZERO3を購入しました。
    2010年11月、HTC Desire HDを購入しました。
    2012年2月、都内の会社に転職しました。
    2012年5月、HTC One Xを購入しました。
    2012年8月、事情により休職しました。
    2012年8月、SONY Xperia SXを購入しました。
    2013年1月、一身上の都合により退職しました。
    2014年3月、都内の会社に就職しました。
    2016年8月、HPC系の会社に転職しました。

    Amazonほしい物リスト
    何か問題などありましたら、こちらまで。 Twitter:@kometchtech follow us in feedly

    カレンダー

    09 | 2017/10 | 11
    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 - - - -

    全記事(数)表示

    全タイトルを表示

    バロメーター

    カテゴリー

    カテゴリークラウド

    アーカイブ

    検索フォーム

    FC2カウンター

    現在の閲覧者数

    現在の閲覧者数:

    Amazonアソシエイト

    スポンサードリンク

    月間ページランキング

    ブログパーツ

    サイトランキング

    スポンサードリンク

    スポンサードリンク