お客様専用ページ > お客様専用FAQ

Ubuntu 15.10 以降の eth0 ポートがない場合の対処

【Linuxのシステム設定】 Ubuntu 15.10 以降、デフォルトのネットワーク I/F の名前の命名規則が変更されました。これに伴い、従来から使用されてきた eth0(ethX) ポートが存在しなくなり、FLEXnet ライセンスマネージャの動作に問題が生じます。FLEXnet のライセンスマネージャを動作させるには、Ubuntu 上の設定を変更し、従来の ethX ネットワークポートのネーミングルールに戻すことが必要です。
2017年6月初稿
© 株式会社ソフテック

Question  Ubuntu 15.10 以降の環境で従来から使用されてきた ethX ネットワークポートのネーミングルールに戻す方法を教えてください。

Answer

Ubuntu 15.10 以降の「Network Device Naming変更」に因る、デフォルトでの eth0, eth1, eth2, ... と言うネーミングが廃止されました。eno1 とか ens35 と言った名前が、PGIの FLEXnet ライセンスマネージャが期待する eth0 とは異なっているため、FLEXnetライセンスマネージャに関係する utility がうまく動作しません。以下の例は、Ubuntu 17.04 をデフォルトでインストールした場合のネットワーク論理名(ens35)とその特性を表したものです。ip コマンドで表示できます。

[root@photon33 ~]# ip a
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: ens35:  mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:26:18:4e:3c:e0 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.33/24 brd 192.168.0.255 scope global ens35
       valid_lft forever preferred_lft forever

FLEXnetライセンスマネージャは、ネットワーク論理名が eth0 であることを前提に動作しますので、これが eno1 等 に変更されていると、"eth0" の MAC address の検出ができなくなり、lincese file 内の hostid(=MAC addrss) と同定されるものが存在しないと判断され、ライセンスサービスがエラーとなります。FLEXnet ライセンス管理における「ライセンスキー」は システムの eth0 ポートの MAC address(=hostid) を基にキーを作成しています。したがって、システム内に論理的に eth0 ポートが存在しないと、ライセンスマネージャは、"eth0" ポートの MAC addressを参照できず、コンパイルを行う際に、

「The hostid of this system does not match the hostid specified in the license file」

と言うメッセージを出して、コンパイルが出来ません。

従来の ethX と言った論理名に戻すには、システムの設定変更が必要です。google で「Ubuntu 16.04 eth0」のワードで検索してください。関連するたくさんの記事が出てきます。この中の以下の記事を参照して設定の変更をお願いします。

Change default network name (ens33) to old “eth0” on Ubuntu 16.04

root@photon33:/usr/pgi/linux86-64/17.5/bin#  dmesg | grep -i eth
[    1.208974] ATL1E 0000:02:00.0 ens35: renamed from eth0

[root@photon30 network-scripts]# vi /etc/default/grub
GRUB_CMDLINE_LINUX=""
を
GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
に変更する

root@photon33:~# grub-mkconfig -o /boot/grub/grub.cfg
Generating grub configuration file ...
Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported.
Linux イメージを見つけました: /boot/vmlinuz-4.10.0-24-generic
Found initrd image: /boot/initrd.img-4.10.0-24-generic
Linux イメージを見つけました: /boot/vmlinuz-4.10.0-20-generic
Found initrd image: /boot/initrd.img-4.10.0-20-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin


root@photon33:~# vi /etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0                               <== ここから追加(以下は一例です。アドレスは適宜変更すること)
iface eth0 inet static
           address 192.168.0.33
           netmask 255.255.255.0
           dns-nameservers 172.16.1.3
           gateway 192.168.0.10         <=== ここまで追加

root@photon33:~# reboot (リブートする)

システムが再起動後、ネットワーク論理名を調べると eth0 が現れた。
root@photon33:~# ip a
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: eth0:  mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:26:18:4e:3c:e0 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.33/24 brd 192.168.0.255 scope global eth0
       valid_lft forever preferred_lft forever

以上で ethX ポートが復活し、FlexNetライセンスマネージャ環境が正常に動作するようになります。