Red Hat Enterprise Linux互換の CentOS による 64bit-CPU版 Linuxサーバーのネットワーク設定情報です。
※当コンテンツは 2015/06/30時点の CentOS7.1を対象としています。

ネットワーク構成

当サイトの CentOSサーバーは NIC2枚差しで下図のネットワーク構成で運用しています。
System House ACT Network

カーネルパラメータの変更

IPv6の無効化、および IPv4のパケットフォワーディングを有効にするためカーネルパラメータを変更します。
カーネルパラメータの変更
# 新規に設定ファイルを作成します
[root]  vi /etc/sysctl.d/network.conf
----------(vi ここから)----------
# IPv6を無効にします
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

# パケットフォワーディングを有効にします
net.ipv4.ip_forward = 1
----------(vi ここまで)----------

# 設定を反映させます
[root]  sysctl --system
  

ホスト名の設定

ホスト名は /etc/hostnameに設定します。
直接 /etc/hostnameを編集してもいいのですが、hostnamectlコマンドを使用して設定することにします。
ホスト名の設定
# ホスト名を vnushost にします
[root]  hostnamectl set-hostname vnushost

# 確認してみます
[root]  cat /etc/hostname
vnushost

[root]  hostnamectl
   Static hostname: vnushost
     :
  

ネットワークアダプタの設定

CentOS7からは、/etc/sysconfig/network-scripts/配下のファイルを直接編集するのは推奨されていません。
NetworkManagerの CLI(コマンドラインインターフェース)ツール nmcliを使用して設定することにします。
ネットワークアダプタ名を確認します。
ネットワークアダプタ名の確認
[root]  nmcli connection show
名前 ~(略)~
enp1s0 ~(略)~
enp2s0 ~(略)~
  

WAN側の NICには仮想サーバーを接続するため、ブリッジネットワークアダプタを作成します。

ブリッジネットワークアダプタ virbr1の作成
# ブリッジネットワークアダプタを追加します
[root]  nmcli connection add \
> type        bridge \
> ifname      virbr1 \
> con-name    virbr1 \
> autoconnect yes

# ネットワークアドレスを設定します
[root]  nmcli connection modify virbr1 \
> connection.zone dmz \
> ipv4.method     manual \
> ipv4.dns        192.168.11.1 \
> ipv4.dns-search server.localnet \
> ipv4.addresses  192.168.11.12/24 \
> ipv4.gateway    192.168.11.1 \
> ipv6.method     ignore \
> bridge.stp      no 

# 設定結果を確認します
[root]  nmcli connection show virbr1
connection.id:             virbr1
     :
connection.interface-name: virbr1
connection.type:           bridge
connection.autoconnect:    yes
     :
connection.zone:           dmz
     :
ipv4.method:               manual
ipv4.dns:                  192.168.11.1
ipv4.dns-search:           server.localnet
ipv4.addresses:            192.168.11.12/24
ipv4.gateway:              192.168.11.1
     :
ipv6.method:               ignore
     :
bridge.stp                 no
     :
  
autoconnect
自動的に接続を有効にします
connection.zone
Firewallのゾーンを指定しています
ipv4.method
manualでIPv4のIPアドレスを手動設定します
ipv4.dns
CentOSインストール直後の時点では DNSサーバーにひかり電話対応ルータの IPアドレスを指定しています
ipv4.dns-search
IPv4の省略時ドメイン名を指定しています
ipv4.addresses
アダプタのIPv4 IPアドレス/ネットマスクを指定しています
ipv4.gateway
IPv4のゲートウェイアドレスを指定しています
ipv6.method
ignoreでIPv6を無効にしています
bridge.stp
noでループ構成を回避するプロトコル(STP:Spanning Tree Protocol)を無効にしています

Firewallのゾーンは、Firewalld側で設定しても NetworkManagerによる設定が優先されます。
ネットワークアダプタでの指定がない場合 NetworkManagerによってデフォルトゾーン(既定では public)になります。

インターネット(WAN)側ネットワークアダプタの設定を行います。
※ネットワークアダプタ名 enp1s0は環境によって異なります。

ネットワークアダプタ enp1s0の設定
# 物理アダプタ enp1s0 をブリッジネットワークアダプタに接続します
[root]  nmcli connection add \
> type        bridge-slave \
> ifname      enp1s0 \
> con-name    enp1s0 \
> autoconnect yes \
> master      virbr1

# 物理アダプタ enp1s0 の設定を削除し、同時に再起動するようにします
[root]  nmcli connection delete enp1s0; reboot

# 再起動後、設定結果を確認します(空白を圧縮して表示しています)
[root]  nmcli connection show enp1s0
connection.id:             enp1s0
     :
connection.interface-name  enp1s0
connection.type:           802-3-ethernet
connection.autoconnect:    yes
     :
connection.zone:           --
connection.master:         virbr1
connection.slave-type:     bridge
     :
  
type
ブリッジに接続するネットワークアダプタにします
autoconnect
自動的に接続を有効にします
master
接続するブリッジネットワークアダプタを指定します

クライアント(LAN)側ネットワークアダプタの設定を行います。
ネットワークに接続する機器には別途 DHCPサーバーを構築して IPアドレスを払い出します。
ネットワークアダプタ名 enp2s0は環境によって異なります。

ネットワークアダプタ enp2s0の設定
[root]  nmcli connection modify enp2s0 \
> connection.autoconnect yes \
> connection.zone        trusted \
> ipv4.method            manual \
> ipv4.addresses         192.168.112.11/24 \
> ipv6.method            ignore
  

デバイスの接続が既に up状態だった場合は、NetworkManagerの再起動または接続の down/upを同時に行います。

接続のup/down
[root]  nmcli connection down enp2s0 ; nmcli connection up enp2s0
  
NetworkManagerの再起動
[root]  systemctl restart NetworkManager
  
設定の確認
# 各ネットワークアダプタのIPアドレスを確認します
[root]  ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    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: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master virbr1 state UP qlen 1000
    link/ether ~(略)~
3: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether ~(略)~
    inet 192.168.112.11/24 brd 192.168.112.255 scope global enp2s0
       valid_lft forever preferred_lft forever
4: virbr1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
    link/ether ~(略)~
    inet 192.168.11.12/24 brd 192.168.11.255 scope global virbr1
       valid_lft forever preferred_lft forever

# ルーティングテーブルを確認します
[root]  ip route
default via 192.168.11.1 dev virbr1  proto static  metric 425
192.168.11.0/24 dev virbr1  proto kernel  scope link  src 192.168.11.12  metric 425
192.168.112.0/24 dev enp2s0  proto kernel  scope link  src 192.168.112.11  metric 100
  

フィードバック

記事の内容についてのご質問、ご指摘、その他ご意見等は下記にてお願いいたします。
System House ACT公式ブログ内記事 :
CentOS x86_64 ネットワーク設定

トラックバックまたはコメントにてお寄せください。