初期設定

// chrony (旧NTP)
yum install chrony
vi /etc/chrony.conf
systemctl start chrony.service
chronyc sources

// iproute2 (旧net-tools)
// ipv4 固定IPアドレス指定、ホスト名の変更
nmtui

ネットワーク設定

CentOS7 からNetworkManager による管理になりました。インストール直後からNIC は設定されており使えますが、/etc/sysconfig/network-scripts 配下に 該当する設定ファイルは存在しません。nmtui、またはnmcli により設定変更を行うと、初めて設定ファイル(プロファイル、ifcfg-eth0 等)が作られます。

デバイス名とプロファイル名を変える

/etc/udev/rules.d/70-persistent-net.rules が無くなりました。インストール直後にはプロファイル設定ファイルもありません。そこでまずは nmtui でプロファイル名を変更してみます。すると /etc/sysconfig/network-scripts 配下に"ifcfg-有線接続1(ifcfg-eth1)" 等の設定ファイルが作成されます。 このファイルにDEVICE 値を設定します。
vi /etc/sysconfig/network-scripts/ifcfg-有線接続1

 # 追加
 DEVICE=enp1s0f0
 NAME=enp1s0f0

// ファイル名は設定に影響を及ぼさないけど、ややこしくなるので変更します
mv ifcfg-有線接続1 ifcfg-enp1s0f0

// reboot では反映されません。一度、完全終了が必要です。
shutdown -h now
NetworkManager は便利ですが、いろいろ触っていると設定ファイルが複数できてしまい混乱する事があります(nmtui の誤動作?)。そういう時はプロファイル設定ファイルを削除して シャットダウン後に新規起動すると、初期の認識設定に戻ります。

マルチホーム

yum install NetworkManager-config-routing-rules -y
default via 192.168.8.1 dev br0  proto static  metric 425
default via 192.168.23.9 dev br2  proto static  metric 426
default via 192.168.9.1 dev br1  proto static  metric 427
192.168.8.0/24 dev br0  proto kernel  scope link  src 192.168.8.33  metric 425
192.168.9.0/24 dev br1  proto kernel  scope link  src 192.168.9.33  metric 425
192.168.23.0/24 dev br2  proto kernel  scope link  src 192.168.23.33  metric 425
192.168.122.0/24 dev virbr0  proto kernel  scope link  src 192.168.122.1

ファイアーウォール

CentOS7 ではiptable に代りfirewalld が導入されました。

確認

// 確認 
firewall-cmd --list-all				// public zone [default]
firewall-cmd --list-all-zones		// all zone

// 設定読み込み
firewall-cmd --reload

ルール追加

// port 80(http), 443(https) を開ける
firewall-cmd --add-service=http --zone=public --permanent
firewall-cmd --add-service=https --zone=public --permanent

// 追加と削除
firewall-cmd --add-port=3306/tcp --zone=public --permanent
firewall-cmd --remove-port=3306/tcp --zone=public --permanent

// port 587(Submission) を開ける
firewall-cmd --permanent --add-port=submission/tcp

// LAN(192.168.23.0/24) からの接続を許可
firewall-cmd --zone=trusted --add-source=192.168.23.0/24 --permanent

// open port 4000 from 192.168.23.0/24 only
firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="192.168.23.0/24" port protocol="tcp" port="4000" accept"

systemd によるサービス管理

自作のスクリプトを常駐サービスとして簡単に登録できます。サービスなので終了しても再起動してくれます。

サービス設定ファイルを作成する

既存のスクリプト(バックグラウンドで動作する)を登録してみます。ExecStart に通常の起動手順を記載しています。バックグランドプロセスを立ち上げ、そのプロセスID をファイル(/var/run/VPNBridgeWatcher.pid) に残します。systemd はこのプロセスID を見ています。バックグランドプロセス起動後に制御ので、Type=forking です。
vi /etc/systemd/system/VPNBridgeWatcher.service

 [Unit]
 Description = VPNBridgeWatcher

 [Service]
 ExecStart = /VPNBridgeWatcher.sh start
 PIDFile = /var/run/VPNBridgeWatcher.pid
 Restart = always
 Type = forking

 [Install]
 WantedBy = multi-user.target
ループ処理で常時動く単純なスクリプトであれば、下記のように記載します。ExecStart で呼び出して制御を返さないタイプなのでType=simple です。
vi /etc/systemd/system/MoveFileWhenFtpFireEvent.service

 [Unit]
 Description = MoveFileWhenFtpFireEvent

 [Service]
 ExecStart = /MoveFileWhenFtpFireEvent.sh
 Restart = always
 Type = simple

 [Install]
 WantedBy = multi-user.target

VNC を使う

yum -y groupinstall "GNOME Desktop"
yum install tigervnc-server
vncpasswd
vncserver :1		// port 5901