web-dev-qa-db-ja.com

FedoraのNetworkManagerを使用した静的IPアドレス

LAN内のFedora 19マシンに静的IPアドレスを設定したかっただけです。私はdebianの/etc/network/interfacesに慣れていますが、そのファイルはここにはありません。
少しグーグルで調べた後、systemctlを介してNetworkManagerを無効にし、ネットワークを有効にするように指示する小さなチュートリアルを見つけました。その後、/etc/sysconfig/network-scripts/ifcfg-*interfacename*というファイルで静的IPアドレスを構成できます。

これが私の最初の問題です。ifconfigで表示されるインターフェイスのMACアドレスを含むファイルを見つけましたが、ifcfg-の後の名前がifconfigの名前と一致しません。どうしてこんな感じなの?

2つ目の問題は、NetworkManager.serviceまたはnetwork.serviceを使用することです。私はフォーラムで読みました。そのnetwork.serviceは互換性の理由でまだ含まれており、まもなく除外される可能性があります。 network.serviceがすぐにNetworkManager.serviceに置き換えられる場合、NetworkManager.serviceを選択してネットワークインターフェイスを構成する必要はありませんか?はいの場合、シェルからNetworkManagerを使用してどうすればよいですか?

編集:
リクエストされた出力は次のとおりです。

[root@bitch /]# ifconfig
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<Host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 97  bytes 12042 (11.7 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 97  bytes 12042 (11.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

p3p1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.178.11  netmask 255.255.255.0  broadcast 192.168.178.255
        inet6 fe80::214:85ff:febc:1c63  prefixlen 64  scopeid 0x20<link>
        ether 00:14:85:bc:1c:63  txqueuelen 1000  (Ethernet)
        RX packets 134347  bytes 169988336 (162.1 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 78199  bytes 6595669 (6.2 MiB)
        TX errors 0  dropped 0 overruns 1  carrier 0  collisions 0

[root@bitch /]# ls -l /etc/sysconfig/network-scripts/
total 200
-rw-r--r--. 1 root root   437 Sep 15 02:05 ifcfg-enp2s5
-rw-r--r--. 1 root root   254 May 31 09:49 ifcfg-lo
lrwxrwxrwx. 1 root root    24 Jun 27 19:12 ifdown -> ../../../usr/sbin/ifdown
-rwxr-xr-x. 1 root root   627 May 31 09:49 ifdown-bnep
-rwxr-xr-x. 1 root root  5553 May 31 09:49 ifdown-eth
-rwxr-xr-x. 1 root root   781 May 31 09:49 ifdown-ippp
-rwxr-xr-x. 1 root root  4141 May 31 09:49 ifdown-ipv6
lrwxrwxrwx. 1 root root    11 Jun 27 19:12 ifdown-isdn -> ifdown-ippp
-rwxr-xr-x. 1 root root  1642 May 31 09:49 ifdown-post
-rwxr-xr-x. 1 root root  1068 May 31 09:49 ifdown-ppp
-rwxr-xr-x. 1 root root   837 May 31 09:49 ifdown-routes
-rwxr-xr-x. 1 root root  1444 May 31 09:49 ifdown-sit
-rwxr-xr-x. 1 root root  1462 May 31 09:49 ifdown-tunnel
lrwxrwxrwx. 1 root root    22 Jun 27 19:12 ifup -> ../../../usr/sbin/ifup
-rwxr-xr-x. 1 root root 12445 May 31 09:49 ifup-aliases
-rwxr-xr-x. 1 root root   859 May 31 09:49 ifup-bnep
-rwxr-xr-x. 1 root root 10234 May 31 09:49 ifup-eth
-rwxr-xr-x. 1 root root 12033 May 31 09:49 ifup-ippp
-rwxr-xr-x. 1 root root 10437 May 31 09:49 ifup-ipv6
-rwxr-xr-x. 1 root root   804 May 31 09:49 ifup-ipx
lrwxrwxrwx. 1 root root     9 Jun 27 19:12 ifup-isdn -> ifup-ippp
-rwxr-xr-x. 1 root root   642 May 31 09:49 ifup-plip
-rwxr-xr-x. 1 root root  1043 May 31 09:49 ifup-plusb
-rwxr-xr-x. 1 root root  2609 May 31 09:49 ifup-post
-rwxr-xr-x. 1 root root  4154 May 31 09:49 ifup-ppp
-rwxr-xr-x. 1 root root  1925 May 31 09:49 ifup-routes
-rwxr-xr-x. 1 root root  3268 May 31 09:49 ifup-sit
-rwxr-xr-x. 1 root root  2607 May 31 09:49 ifup-tunnel
-rwxr-xr-x. 1 root root  3775 May 31 09:49 ifup-wireless
-rwxr-xr-x. 1 root root  4623 May 31 09:49 init.ipv6-global
-rw-r--r--. 1 root root 13836 May 31 09:49 network-functions
-rw-r--r--. 1 root root 26134 May 31 09:49 network-functions-ipv6

/ etc/sysconfig/network-scripts/ifcfg-enp2s5の内容:

PEERROUTES="yes"
IPV6INIT="yes"
NAME="enp2s5"
IPV6_PEERDNS="yes"
DEFROUTE="yes"
UUID="7622e20e-3f2a-4b5c-83d8-f4f6e22ed7ec"
PEERDNS="yes"
IPV4_FAILURE_FATAL="no"
HWADDR="00:14:85:BC:1C:63"
BOOTPROTO="static"
IPV6_DEFROUTE="yes"
IPV6_AUTOCONF="yes"
IPV6_FAILURE_FATAL="no"
TYPE="Ethernet"
ONBOOT="yes"
IPV6_PEERROUTES="yes"
IPADDR=192.168.178.11
NETMASK=255.255.255.0
BROADCAST=192.168.178.255
NETWORK=192.168.178.0
GATEWAY=192.168.178.1

Udevdのdmesgを確認する:

[root@bitch network-scripts]# dmesg | grep udevd
[    0.788381] systemd-udevd[97]: starting version 204
[    2.457296] systemd-udevd[322]: starting version 204
[    3.110272] systemd-udevd[329]: renamed network interface eth0 to p3p1
7
wullxz

コマンドラインの説明

よく調べたところ、ifcfg-*ファイル名とファイル内のNAME=変数は、実際の割り当てとはほとんど関係がないことがわかりました。文字通り、好きなように変更することができます...私は自分のマシンでそれらをeth0に変更するテストを行い、手動/静的IPは起動時に適用されました。ここでのキーは、ファイル内のHWADDR変数のようです。 NAME=値は、グラフィカルネットワークマネージャー設定に表示される名前のようです。だから、言われていることは、あなたがする必要があるのは...

  1. NetworkManager.serviceが引き続き有効で、network.serviceが無効であることを確認します。

  2. 最も[〜#〜]重要[〜#〜]ステップは、現在のifcfg-enp2s5スクリプトを削除することです。

    Sudo rm /etc/sysconfig/network-scripts/ifcfg-enp2s5
    
  3. ifcfg-p3p1という名前の新しいスクリプトを作成します

    Sudo nano /etc/sysconfig/network-scripts/ifcfg-p3p1
    
  4. ifcfg-p3p1の内容を次のように設定し、それぞれのIP設定を目的の設定に更新します。

    TYPE=Ethernet
    BOOTPROTO=none
    DEFROUTE=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=yes
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_FAILURE_FATAL=no
    NAME=p3p1
    UUID=7622e20e-3f2a-4b5c-83d8-f4f6e22ed7ec
    ONBOOT=yes
    DNS1=10.0.0.1
    IPADDR0=10.0.0.2
    PREFIX0=24
    GATEWAY0=10.0.0.1
    HWADDR=00:14:85:BC:1C:63
    IPV6_PEERDNS=yes
    IPV6_PEERROUTES=yes
    

ifcfg-*の名前が実際のデバイス名と異なる理由については。わかりませんが、インストール中にネットワーク設定がどのように適用されたかに関係していると思われます。

グラフィカルな指示

  1. 開くシステム設定
  2. Networkをクリックします
  3. オプションをクリックします...
  4. ホームネットワークで使用しているIPバージョンに応じて、IPv4設定*またはIPv6設定タブをクリックします(ほとんどの場合IPv4)。
  5. Methodコンボボックスをクリックし、Manualオプションを選択します。
  6. 追加ボタンをクリックします。
  7. Address列に必要なアドレスを入力します(例:10.0.0.20)。
  8. Netmask列にネットワークのネットマスクを入力します(例:255.255.255.0)。
  9. Gateway列にゲートウェイ(通常はルーターのIP)を入力します(例:10.0.0.1)
  10. DNSサーバーテキストボックスにDNSサーバーを入力します(例:10.0.0.1)

    Wired Connection Options Dialog

  11. 保存...をクリックします
  12. ネットワーク設定に戻ったら、有線インターフェース[〜#〜]オフ[ 〜#〜]
  13. 前のステップで入力した静的アドレス情報で自動的にオンに戻ります。オンにならない場合は、トグルスイッチをクリックしてオンにします。

    Network Settings After Manual IP Selection


NetworkManager.serviceではなくnetwork.serviceを使用することについての質問に答えるため。今後のリリースで削除される可能性があることは間違いありません。ただし、一般的な経験則として、トピックが何であれ、常に「後方互換性のために含まれている」は使用しないようにする必要があります。したがって、可能な場合はNetworkManagerの使用に固執する必要があります

5
Drew Chapin

私はFedoraを使用していませんが、 この投稿 によると、探しているファイルは/etc/sysconfig/network-scripts/ifcfg-p3p1は次のようになります。

DEVICE=eth0
BOOTPROTO=none
HWADDR=00:13:20:5E:C0:47
ONBOOT=yes
DHCP_HOSTNAME=balthasar.benhome.com
TYPE=Ethernet
USERCTL=no
IPV6INIT=no
PEERDNS=no
IPADDR=172.16.3.3
NETMASK=255.255.255.192
GATEWAY=172.16.3.1

そこにIPを設定することで動作するはずです。

1
terdon