CentOS の nmcli によるルーティング追加と firewalld のポート開放のメモ

概要

表題の通りですが、 CentOS で以下の操作を行ったのでコマンドのメモを残しておきます。

  • nmcli によるルーティング追加
  • firewalld のポート開放

nmcli によるルーティング追加

まずはルーティングの追加について。

# ip route show
default via 192.0.2.1 dev enp32s0 proto static metric 100
192.0.2.0/24 dev enp32s0 proto kernel scope link src 192.0.2.100 metric 100

作業前に ip route でルーティングを表示させるとこのような出力。デフォルトのルーティングのみですね。

# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    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
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
    inet 192.0.2.100/24 brd 192.0.2.255 scope global noprefixroute enp32s0
       valid_lft forever preferred_lft forever

ネットワークアダプタやIPアドレスの設定はこのようになっているものとします。特にアダプタ名(ここでは enp32s0 )をルーティング追加時に使用するので控えます。

# nmcli connection modify enp32s0 +ipv4.routes "203.0.113.0/24 192.0.2.2"

nmcli を使ってこのようにルーティングを追加します。アダプタ名を指定して、宛先ネットワークとルーティングする機器のIPアドレスをそれぞれ指定します。

# reboot

設定反映のため、いったんネットワークアダプタもしくは端末自体を再起動します(今回は端末を再起動)。

# ip route show
default via 192.0.2.1 dev enp32s0 proto static metric 100
192.0.2.0/24 dev enp32s0 proto kernel scope link src 192.0.2.100 metric 100
203.0.113.0/24 via 192.0.2.2 dev enp32s0 proto static metric 100

これでもう一度 ip route show して、ルーティングが追加されたことを確認します。OKです。

firewalld のポート開放

次にポート開放。

# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: enp32s0
  sources:
  services: cockpit dhcpv6-client ftp mysql ssh
  ports: 80/tcp 443/tcp
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

作業前はこのような状態。今回は Syslog を独自ポートで受けたいのでそれを追加します。

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

UDP だけで良いはずですが、念のため TCP も開けました。最後に設定再読み込みのためリロードしています。

# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: enp32s0
  sources:
  services: cockpit dhcpv6-client ftp mysql ssh
  ports: 80/tcp 443/tcp 5514/udp 5514/tcp
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

ポートが開いたことを確認できました。OKです。

参考

ルーティング追加

ポート開放

この記事を書いた人

アルム=バンド

フロントエンド・バックエンド・サーバエンジニア。LAMPやNodeからWP、Gulpを使ってejs,Scss,JSのコーディングまで一通り。たまにRasPiで遊んだり、趣味で開発したり。