CentOS7について

更新日 2021-05-07 (金) 12:24:13

CentOS7の起動について

UNIX System V系のinit→ systemdにより「ランレベル」から「ターゲット」に変更された。

起動モードの確認

# systemctl get-default
graphical.target

System V系のランレベル5

ターゲットの確認

# systemctl list-units -t target -a --no-pager
UNIT                   LOAD   ACTIVE   SUB    DESCRIPTION
basic.target           loaded active   active Basic System
cryptsetup.target      loaded active   active Encrypted Volumes
emergency.target       loaded inactive dead   Emergency Mode
final.target           loaded inactive dead   Final Step
getty.target           loaded active   active Login Prompts
graphical.target       loaded active   active Graphical Interface
local-fs-pre.target    loaded active   active Local File Systems (Pre)
local-fs.target        loaded active   active Local File Systems
multi-user.target      loaded active   active Multi-User System
network-online.target  loaded inactive dead   Network is Online
network.target         loaded active   active Network

(中略)

LOAD   = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB    = The low-level unit activation state, values depend on unit type.

27 loaded units listed.
To show all installed unit files use 'systemctl list-unit-files'.

起動モードの変更(graphical→multi-user [runlevel5→runlevel3]

# systemctl set-default multi-user.target
rm '/etc/systemd/system/default.target'
ln -s '/usr/lib/systemd/system/multi-user.target' '/etc/systemd/system/default.target'
# systemctl get-default
multi-user.target

CUIからGUIに切り替え

# systemctl isolate graphical.target

ランレベルとsystemdの対応

runlevelsystemdでの変更コマンド
システム停止0systemctl isolate poweroff.target
シングルユーザモード1systemctl isolate rescue.target
マルチユーザモード3systemctl isolate multi-user.target
グラフィカルユーザモード5systemctl isolate graphical.target
再起動6systemctl isolate reboot.target
緊急モード-systemctl isolate emergency.target

デーモン起動/確認等

SystemV系systemd
サービス開始/etc/rc.d/ini.d/httpd startsystemctl start httpd
サービス停止/etc/rc.d/ini.d/httpd stopsystemctl stop httpd
サービス再起動/etc/rc.d/ini.d/httpd restartsystemctl restart httpd
設定ファイルの再読み込み/etc/rc.d/ini.d/httpd reloadsystemctl relaod httpd
サービス状態/sbin/chkconfig httpd statussystemctl status httpd
サービス自動起動/sbin/chkconfig httpd onsystemctl enable httpd
サービス自動起動停止/sbin/chkconfig httpd offsystemctl disable httpd
ランレベル毎のサービスの有効無効表示/sbin/chkconfig --listsystemctl -t services list-unit-files
ランレベル毎の指定サービスの有効無効表示/sbin/chkconfig --list httpdsystemctl -t services list-unit-files (パイプ) grep httpd

ネットワーク再起動

# systemctl restart NetworkManager.service

サービスの確認

# systemctl list-units -t service -a | grep rsyslog
rsyslog.service                                                                           loaded active   running System Logging Service

ファイアウオール

NIC毎に設定が可能になった。

NICにゾーンを割り当て管理している。ゾーンごとファイアウォールが定義でき、デフォルトで9個用意されている

「block、dmz、drop、external、home、internal、public、trusted、work」

現在のゾーンを表示

# firewall-cmd --get-active-zones
public
  interfaces: ens32

NIC(ens32)にpublicというゾーンが割り振られている

ではpublicの設定は(デフォルトゾーン表示)

# firewall-cmd --list-all
public (default, active)
  interfaces: ens32
  sources:
  services: dhcpv6-client ssh
  ports:
  masquerade: no
  forward-ports:
  icmp-blocks:
  rich rules:

または

# cat /etc/firewalld/zones/public.xml
<?xml version="1.0" encoding="utf-8"?>
<zone>
  <short>Public</short>
  <description>For use in public areas. You do not trust the other computers \
on networks to not harm your computer. Only selected incoming connections are \
accepted.</description>
  <service name="dhcpv6-client"/>
  <service name="ssh"/>
</zone>

sshとdhcpv6-clientが外部→内部パケット許可

すべてゾーン設定表示は

#firewall-cmd --list-all-zone
block
  interfaces:
  sources:
  services:
  ports:
  masquerade: no
  forward-ports:
  icmp-blocks:
  rich rules:

dmz
  interfaces:
(略)

定義ファイルは/usr/lib/firewalld/zones/にある

ゾーンへの追加削除

一時追加は --permanentを省略(permanentなしの場合はすぐに適用されるので、--reloadは不要)

ゾーンpublicにtcp 12220ポートを追加

# firewall-cmd --zone=public --add-port=12220/tcp --permanent
success
# firewall-cmd --reload
success

defaultゾーンの表示

# firewall-cmd --list-all
public (default, active)
  interfaces: ens32
  sources:
  services: dhcpv6-client ssh
  ports: 12220/tcp
  masquerade: no
  forward-ports:
  icmp-blocks:
  rich rules:

tcp 12220ポートを削除

# firewall-cmd --zone=public --remove-port=12220/tcp --permanent
success
# firewall-cmd --reload
success

デフォルトゾーン変更

ゾーンtrusted(すべて許可)に変更

# firewall-cmd --set-default-zone=trusted
success
# firewall-cmd --get-default-zone
trusted
# firewall-cmd --list-all
trusted (default, active)
  interfaces: ens32
  sources:
  services:
  ports:
  masquerade: no
  forward-ports:
  icmp-blocks:
  rich rules:

serviciesの作成

/usr/lib/firewalld/servicesにいくつかあるのでそれを参考に作成

rsyslog.xml

<?xml version="1.0" encoding="utf-8"?>
<service>
  <short>RSYSLOG</short>
  <description>RSYSLOG Edit By JE2ISM.</description>
  <port protocol="tcp" port="514"/>
  <port protocol="udp" port="514"/>
</service>

追加コマンド

# firewall-cmd --zone=public --add-service=rsyslog --permanent
success
# firewall-cmd --reload
success

ゾーンのインターフェイスを付け替える(NICが2枚: ens32,ens34)

はじめは2つのインターフェイスがゾーンpubilicに設定されている

# firewall-cmd --list-all
public (default, active)
  interfaces: ens32 ens34
  sources:
  services: dhcpv6-client ssh
  ports:
  masquerade: no
  forward-ports:
  icmp-blocks:
  rich rules:

インターフェイスens34をゾーンtrustedに変更

# firewall-cmd --zone=trusted --change-interface=ens34
success

アクティブゾーン表示

# firewall-cmd --get-active-zones
public
  interfaces: ens32
trusted
  interfaces: ens34

ゾーンtrustedを表示

# firewall-cmd --list-all --zone=trusted
trusted (active)
  interfaces: ens34
  sources:
  services:
  ports:
  masquerade: no
  forward-ports:
  icmp-blocks:
  rich rules:

参考

CentOS7のプロセス関係

ファイアウオール関係


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS