CentOS7 NW

#ネットワーク体形
eno : オンボード上にあるデバイス番号
ens : ホットプラグスロットのインデックス番号
enx : インタフェースのMACアドレス値
enp : HWのコネクタの物理位置
eth : 従来のカーネルネイティブ命名体系
※ブートパラメータにnet.ifnames=0を付与すると、NICのIF名を自動的に命名しないため、ethなどの標記になる

#nmcli
・接続状態
`nmcli connection`
・接続/切断
`nmcli connection up ens1`
`nmcli connection down ens1`
・詳細なデバイス状態確認
`nmcli device show`
・デバイス情報修正
`nmcli connection modify ens1 ipv4.method manual ipv4.address "172.26.84.100/24 172.26.84.1"`(固定IP化＋IP設定)
`nmcli connection modify ens1 ipv4.address "172.26.84.100/24 172.26.84.1"`(固定IP変更)
・IF接続の追加
`nmcli connection add type ethernet ifname ens190 con-name 190`
・IF接続の削除
`nmcli connection delete 190`
・ホスト名確認
`nmcli general hostname`
・ホスト名変更
`nmcli general hostname test.localdomain`
※「/etc/hostname」ファイルを直接編集でもよい
・ネットワークの接続状態確認
`nmcli networking`
・ネットワークの全接続
`nmcli networking on`
・ネットワークの全切断
`nmcli networking off`

デバイス情報に設定されたDNSサーバー情報を自動的に、「/etc/resolve」ファイルに記述する。
これは、「/etc/NetworkManager/NetworkManager.conf」に以下を追加すれば抑止できる。

```
[main]
dns=none
```

#iprouteパッケージ
・IPアドレス、MACアドレス確認
`ip a`
・一時的なIPアドレス付与
`ip addr add 192.168.11.20/255.255.255.0 dev ens100`
・IFのリンクアップ確認
`ip link`
・IF毎のパケット確認
`ip -s link`
・デフォルトゲートウェイの追加/削除
`ip route add default via 192.168.11.1`
`ip route del default via 192.168.11.1`
・ルーティングテーブルの確認
`ip route`
・arpテーブルの確認
`ip neigh`
・ARPきゃっしゅのクリア
`ip neigh flush 192.168.11.100 dev ens100`
・TCP/UDPソケット状態確認
`ss -antu`
a:Listen/Non-Listen両方表示
n:サービス名ではなくポートで表示
t:TCPを表示
u:UDPを表示

#NICチーミング
1.仮想IF作成
`nmcli connection add type team con-name team0 ifname team0 config '{"runner":{"name":"roundrobin"}}'`
※runnnerの種類
broadcast:全てのポートにブロードキャスト
roundrobin:全てのポートをラウンドロビンで伝送
activebackup:通信を行うアクティブなポートと障害時のバックアップ用のポートで構成する
loadbalance:負荷分散でデータが伝送される
2.仮想IFのIP設定
`nmcli connection modify team0 ipv4.method manual ipv4.address "192.168.11.100/24 192.168.11.1" ipv4.dns 192.16
8.11.1`
3.仮想IFに物理IF紐づけ
`nmcli connection add type team-slave autoconnect no ifname ens224 master team0`
`nmcli connection add type team-slave autoconnect no ifname ens256 master team0`
4.スレーブ化したens224を自動起動するように設定
`nmcli connection modify team-slave-ens224 connection.autoconnect yes`
※この状態だと、ens224しか自動起動設定をしていないのを確認

```
[root@localhost ~]# nmcli c
NAME                UUID                                  TYPE      DEVICE
Wired connection 1  7b26b1b6-9eb7-38bb-94c1-436a2d449a43  ethernet  ens192
Wired connection 2  d9a1cd46-f4db-3800-a2c0-19a84b7848aa  ethernet  ens224
team0               d58b95ff-31d0-4d2e-ba87-8a8ca15ec9b7  team      team0
Wired connection 3  0de8264f-b8e0-39df-94fa-1ac8320ac21a  ethernet  --
team-slave-ens224   51bdf664-21fb-4130-bbc8-d68a96048d2d  ethernet  --
team-slave-ens256   f740a0c4-4a03-4a57-8eac-a937a4e08135  ethernet  --
```
`nmcli connection modify team-slave-ens256 connection.autoconnect yes`
も実行して両方上がるように
※ens224,ens256に対してIP設定を行っていたら、仮想IFと物理IFのIP両方でアクセス可能
5.物理IFを自動起動しないようにする
`nmcli connection modify "Wired connection 2" connection.autoconnect no`
`nmcli connection modify "Wired connection 3" connection.autoconnect no`
※これにより、仮想IFのIPのみになる

```
[root@localhost ~]# nmcli connection
NAME                UUID                                  TYPE      DEVICE
Wired connection 1  7b26b1b6-9eb7-38bb-94c1-436a2d449a43  ethernet  ens192
team-slave-ens224   51bdf664-21fb-4130-bbc8-d68a96048d2d  ethernet  ens224
team-slave-ens256   f740a0c4-4a03-4a57-8eac-a937a4e08135  ethernet  ens256
team0               d58b95ff-31d0-4d2e-ba87-8a8ca15ec9b7  team      team0
Wired connection 2  d9a1cd46-f4db-3800-a2c0-19a84b7848aa  ethernet  --
Wired connection 3  0de8264f-b8e0-39df-94fa-1ac8320ac21a  ethernet  --
```

※おまけ
`systemctl restart network`
でこけた場合のデバックコマンド
SYSTEMCTL_SKIP_REDIRECT="enable" bash -x /etc/init.d/network restart