スタティックルーティング
ホストを区別する
ホストやルーターの台数が多くなると作業が複雑になります。 目的の機器にログインしている事を把握できるようにユニークなホスト名を付けましょう。 以下のコマンドで設定したホスト名はSSHでログインし直すと反映されます。
ホスト名を設定する
# hostnamectl set-hostname <HOSTNAME>
ルーティング確認コマンド
宛先への経路を表示する
# traceroute 172.16.0.1
ルーティングの主なコマンド
パケット転送を許可する(ルーターには必ず必要な設定)
# sysctl -w net.ipv4.ip_forward=1
設定を永続化する
# echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
# sysctl -p
ルーティングテーブルを確認する
# ip route
デフォルトゲートウェイを設定する/削除する
※nmcliを使うと設定を永続化できる
追加(永続化)
# nmcli connection modify enp0s8 ipv4.gateway 172.16.0.1
# nmcli connection down enp0s8
# nmcli connection up enp0s8
削除(永続化)
# nmcli connection modify enp0s3 ipv4.gateway ""
# nmcli connection down enp0s3
# nmcli connection up enp0s3
追加(再起動すると消える)
# ip route add default via 172.16.0.1 dev enp0s3
削除(永続化された設定をこれで消しても再起動後に復活する)
# ip route del default via 172.16.0.1 dev enp0s3
スタティックルートを設定する/削除する
# 追加(永続化)
# 192.168.0.0宛ての通信はすべてenp0s8に接続された192.168.10.1へ送信する
nmcli connection modify enp0s8 ipv4.routes "192.168.0.0/24 192.168.10.1"
nmcli connection down enp0s8
nmcli connection up enp0s8
# 削除(永続化)
nmcli connection modify enp0s8 ipv4.routes ""
nmcli connection down enp0s8
nmcli connection up enp0s8
# 追加(再起動すると消える)
# 192.168.0.0宛ての通信はすべてenp0s8に接続された192.168.10.1へ送信する
ip route add 192.168.0.0/24 via 192.168.10.1 dev enp0s8
# 削除(永続化された設定をこれで消しても再起動後に復活する)
ip route del 192.168.0.0/24 via 192.168.10.1 dev enp0s8
DHCPでデフォルトゲートウェイを配布する
# cat /etc/dhcp/dhcpd.conf
subnet 172.16.0.0 netmask 255.255.255.0 {
range 172.16.0.20 172.16.0.30;
option routers 172.16.0.1; <----これ
option domain-name-servers 172.16.0.100;
}
Firewallの主なコマンド
ゾーン一覧表示
# firewall-cmd --get-zones
ゾーン詳細確認
# firewall-cmd --list-all --zone=public --permanent
任意ポートに対する通信を許可する/禁止する
# firewall-cmd --add-port=80/tcp --zone=public --permanent
# firewall-cmd --remove-port=80/tcp --zone=public --permanent
任意IPアドレスからの通信を許可する/禁止する
# firewall-cmd --add-source=172.16.0.0/24 --zone=public --permanent
# firewall-cmd --remove-source=172.16.0.0/24 --zone=public --permanent
ポートフォワードを設定する/削除する
22/TCPに対する通信を172.16.0.1:1234へ転送する場合
# firewall-cmd --add-forward-port=port=22:proto=tcp:toport=1234:toaddr=172.16.0.1 --zone=public --permanent
# firewall-cmd --remove-forward-port=port=22:proto=tcp:toport=1234:toaddr=172.16.0.1 --zone=public --permanent
IPマスカレードを有効化する/無効化する
# firewall-cmd --add-masquerade --zone=public --permanent
# firewall-cmd --remove-masquerade --zone=public --permanent
スタティックルーティングの例
以下の例ではネットワークがループしていて経路が2方向に分かれるためデフォルトGWだけでは全ての通信は成立しない。 node-1から172.16.1.0/24にデフォルトGWだけで到達するルートについて考察する。
- 172.16.2.1をGWにした場合
- 172.16.1.1にPING疎通可能
- 172.16.1.2にPING疎通不可能
- 172.16.3.2をGWにした場合
- 172.16.1.1にPING疎通不可能
- 172.16.1.2にPING疎通可能
宛先NICごとに個別にルーティングすれば問題を解決できるがルーティングテーブルのメンテナンスコストが高くなる。