初期設定
// 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