本節はネットワークカードを設定する場合にのみ作業を行っていきます。
          systemd はバージョン 209 から、ネットワーク設定を行うデーモン systemd-networkd を提供するようになりました。
          このデーモンが基本的なネットワーク設定を行います。 さらにバージョン 213 からは、DNS 名前解決を固定的に
          /etc/resolv.conf ファイルによって行っていたものが
          systemd-resolved
          により行うよう変更されています。 いずれのデーモンもデフォルトで有効となっています。
        
![[注記]](../images/note.png) 
          ネットワーク設定に systemd-networkd を利用しない場合(たとえばネットワークに接続しないシステムを利用する場合や、NetworkManager のようなネットワーク設定を行う別ユーティリティーを利用する場合)は、起動時にエラーメッセージが表示されないように、サービスを無効にしてください。
systemctl disable systemd-networkd-wait-online
          systemd-networkd (および
          systemd-resolved)
          に対する設定ファイルは /usr/lib/systemd/network
          ディレクトリまたは /etc/systemd/network
          ディレクトリに置きます。 /usr/lib/systemd/network
          ディレクトリにある設定ファイルよりも /etc/systemd/network ディレクトリにある設定ファイルの方が優先されます。
          設定ファイルには .link, .netdev, .network
          の三種類があります。 これらの説明や設定例については man ページ systemd.link(5),
          systemd.netdev(5),
          systemd.network(5)
          を参照してください。
        
通常 Udev は、システムの物理的な特性に従った enp2s1 などのような名称をネットワークカードインターフェースに割り当てます。 インタフェース名が分からない場合は、システム起動直後に ip link を実行して確認してください。
![[注記]](../images/note.png) 
            インターフェース名は、システム上で起動している udev デーモンの実装や設定に依存します。 LFS における udev デーモン(「Systemd-257.8」においてインストール)は、LFS システムを起動させるまでは動作しません。 したがってホストディストリビューションにおいて各コマンドを実行しても、LFS 上において用いられるインターフェース名が何であるのかは特定できません。 それは chroot 環境内においても同じことです。
システムにおいて、接続タイプに応じたネットワークインターフェースは、それぞれに 1 つであるのが通常です。 例えば有線接続のインターフェース名は、従来より eth0 とされます。 また無線接続の場合は wifi0 や wlan0 といった名前が用いられます。
ネットワークインターフェース名を従来どおりとしたり、カスタマイズしたりするには、以下に示す 3 通りの方法があります。
                  udev のデフォルトポリシーに対する .link
                  ファイルをマスクして無効にします。
                
ln -s /dev/null /etc/systemd/network/99-default.link
                  インターフェースに対する名前として internet0,
                  dmz0, lan0 といった命名スキームを自分で定めます。 これを行うには
                  /etc/systemd/network/ ディレクトリに .link
                  ファイルを生成し、必要なインターフェースに対して具体的な名前、つまりより良い命名スキームを定めます。
                  例えば以下のようにします。
                
cat > /etc/systemd/network/10-ether0.link << "EOF"
[Match]
# Change the MAC address as appropriate for your network device
MACAddress=12:34:45:78:90:AB
[Link]
Name=ether0
EOF
                詳細は systemd.link(5) を確認してください。
                  /boot/grub/grub.cfg ファイル内において、カーネルの設定行に net.ifnames=0 を追加します。
                
以下のコマンドは固定IPアドレスの設定を行う設定ファイルを生成するものです。 (systemd-networkd と systemd-resolved を利用します。)
cat > /etc/systemd/network/10-eth-static.network << "EOF"
[Match]
Name=<network-device-name>
[Network]
Address=192.168.0.2/24
Gateway=192.168.0.1
DNS=192.168.0.1
Domains=<Your Domain Name>
EOF
          
            複数のDNSサーバーを有している場合は、DNS設定行を複数指定することができます。 固定的に /etc/resolv.conf ファイルを利用する場合は DNS および Domains
            の設定行は記載しません。
          
          インターネットへの接続を行う場合には、ドメイン名サービス (domain name service; DNS)
          による名前解決を必要とします。 これによりインターネットドメイン名を IP アドレスに、あるいはその逆の変換を行います。
          これを行うには ISP やネットワーク管理者が指定する DNS サーバーの割り振り IP アドレスを /etc/resolv.conf ファイルに設定します。
        
![[注記]](../images/note.png) 
            
              ネットワークインターフェース設定を systemd-resolved とは別の方法 (例えば ppp など) で行う場合、
              または別のタイプのローカルリゾルバー (local resolver; たとえば bind や dnsmasq や
              unbound など) や /etc/resolv.conf
              を生成するソフトウェア (つまり systemd が提供するものでない resolvconf プログラム)
              などを用いる場合、systemd-resolved
              サービスは用いてはなりません。
            
systemd-resolved を無効にするには、以下のコマンドを実行します。
systemctl disable systemd-resolved
            DNS 設定に systemd-resolved を用いると
            /run/systemd/resolve/resolv.conf
            ファイルが生成されます。 また /etc/resolv.conf
            が存在していない場合は、systemd-resolved が /run/systemd/resolve/stub-resolv.conf
            へのシンボリックリンクとして生成します。 その場合は /etc/resolv.conf を手動で生成する必要はありません。
          
![[注記]](../images/note.png) 
            
              LFS システムにおいて chroot 環境下においても systemd-resolved
              を利用できるようにしたい場合 (たとえば BLFS
              パッケージのビルドにあたってビルド処理内にてインターネット接続を必要とする場合)、以下に示すような /etc/resolv.conf のスタティックな設定を行い、chroot
              環境でも名前解決が動作するようにします。 chroot 環境から抜け出たときに、その設定を削除すれば systemd-resolved
              が起動時にシンボリックリンクを生成します。
            
            スタティックな /etc/resolv.conf
            ファイルを必要とする場合は、以下のコマンドにより生成します。
          
cat > /etc/resolv.conf << "EOF"
# Begin /etc/resolv.conf
domain <Your Domain Name>
nameserver <IP address of your primary nameserver>
nameserver <IP address of your secondary nameserver>
# End /etc/resolv.conf
EOF
          
            domain ステートメントは省略するか、search ステートメントで代用することが可能です。 詳しくは resolv.conf の
            man ページを参照してください。
          
            <IP address of the
            nameserver> (ネームサーバーの IP アドレス) の部分には、DNS が割り振る適切な
            IP アドレスを記述します。 IP
            アドレスの設定は複数行う場合もあります。(代替構成を必要とするなら二次サーバーを設けることでしょう。)
            一つのサーバーのみで十分な場合は、二つめの nameserver の行は削除します。
            ローカルネットワークにおいてはルーターの IP アドレスを設定することになるでしょう。 これ以外の方法として、IP アドレスに
            Google Public DNS サービスをネームサーバーとして利用する方法もあります。
          
![[注記]](../images/note.png) 
            
              Google Public IPv4 DNS アドレスは 8.8.8.8 と 8.8.4.4 です。 また IPv6 では 2001:4860:4860::8888 と 2001:4860:4860::8844 です。
            
          システム起動時には /etc/hostname
          が参照されてシステムのホスト名が決定されます。
        
          以下のコマンドを実行することで /etc/hostname
          ファイルを生成するとともに、ホスト名を設定します。
        
echo "<lfs>" > /etc/hostname
        
          <lfs>
          の部分は、各システムにおいて定めたい名称に置き換えてください。 ここでは完全修飾ドメイン名 (Fully Qualified
          Domain Name; FQDN) は指定しないでください。 その情報は /etc/hosts ファイルにて行います。
        
          完全修飾ドメイン名 (Fully Qualified Domain Name; FQDN)、エイリアスの各設定は
          /etc/hosts ファイルにて行います。 固定アドレスを用いる場合は
          IPアドレスを定める必要があります。 ホストファイルの文法は以下のとおりです。
        
IP_address myhost.example.org aliasesインターネットに公開されていないコンピューターである場合 (つまり登録ドメインであったり、あらかじめ IP アドレスが割り当てられていたりする場合。 普通のユーザーはこれを持ちません。) IP アドレスはプライベートネットワーク IP アドレスの範囲で指定します。 以下がそのアドレス範囲です。
Private Network Address Range      Normal Prefix
10.0.0.1 - 10.255.255.254           8
172.x.0.1 - 172.x.255.254           16
192.168.y.1 - 192.168.y.254         24x は 16 から 31、y は 0 から 255 の範囲の数値です。
IP アドレスの例は 192.168.1.1 となります。
インターネット上にコンピューターを公開しようとする場合、正しい FQDN はドメイン名そのものか、あるいはプレフィックス(たいていはホスト名)とドメイン名を「.」でつなげて記述します。 そしてドメインプロバイダーに問い合わせて、FQDN を公開 IP アドレスとして解決する必要があります。
          インターネット上にコンピューターが公開されていない場合であっても、特定のプログラム、たとえば MTA
          などにおいては、正常な処理が行われるように FQDN が必要になります。 特別な FQDN localhost.localdomain は、その目的で利用されます。
        
          以下のようにして /etc/hosts ファイルを生成します。
        
cat > /etc/hosts << "EOF"
# Begin /etc/hosts
<192.168.0.2> <FQDN> [alias1] [alias2] ...
::1       ip6-localhost ip6-loopback
ff02::1   ip6-allnodes
ff02::2   ip6-allrouters
# End /etc/hosts
EOF
        
          <192.168.0.2>,
          <FQDN>
          の部分は利用状況に応じて書き換えてください。 (ネットワーク管理者から IP
          アドレスを指定されている場合や、既存のネットワーク環境に接続する場合など。). エイリアスの記述は省略しても構いません。 また
          <192.168.0.2>
          の行も、DHCP や IPv6 による自動設定による接続を行う場合、あるいは FQDN として localhost.localdomain を指定する場合には省略可能です。
        
          /etc/hostname には localhost, localhost.localdomain, (ドメイン名を含まない)ホスト名は記述しません。
          これらは NSS モジュール myhostname が取り扱います。
          詳しくは man ページ nss-myhostname(8)
          を参照してください。
        
::1 という項目は IPv6 における 127.0.0.1 に相当し、IPv6 のループバックインターフェースを表します。