タグ: firewalld

さくらVPSのスイッチを利用してローカルネットワークを構成する

さくら VPS のスイッチを用いて L2 接続をして、次のような構成を作る手順メモ

1. さくらVPS管理画面上でスイッチを作成する

2. サーバーを停止する

作業対象サーバー内から shutdown コマンドでサーバーを停止する

3. 接続先スイッチ追加

接続先スイッチとして eth1 に先ほど作ったスイッチを指定する

3. サーバーを起動する

さくらVPS 管理画面からサーバーを起動する

4. IP アドレスの設定

次のように IP アドレスを割り当てた

  • front01.eth1: 192.168.128.11/24
  • back01.eth1: 192.168.128.111/24

5. front01 のネットワーク設定

back01 からインターネットに出るときは front01 を経由して外にでるために、front に NAPT 設定を入れる。
firewalld を使う場合以下のような形で設定する。

6. back01 のネットワーク設定

back01 はインターネットに晒したくないサーバーにあたるため、eth0 の自動起動をオフにしてインターフェースを落とす。今回は nmtui 経由でやった。また、このままだと back01 はインターネットに出られないため、gateway として front01 の back側 IP を指定した。諸々設定後、以下で動作確認して無事 global 側の IP アドレスでインターネットに出られていれば、うまく設定できたということになる。

RHEL7 系の Firewall 設定

firewalld とは

  • RHEL6 系までは iptables が利用されていた
  • RHEL7 系では firewalld がデフォルトとなった
  • firewalld は、デフォルトで iptablesip6tablesebtables のリストアコマンドを使用し、ルールセットを変更する全ファイアウォールアクションを高速化する
  • CLIツールとして firewall-cmd、GUI ツールとして firewall-config が用意されている
  • firewalld が提供するファイアウォールのサービスは、設定の変更はいつでも可能で即座に実行される
    • 変更は保存したり適用したりする必要がない
  • firewalld の設定は /usr/lib/firewalld//etc/firewalld/ に保存される

情報ソース

firewalld と system-config-firewall および iptables との比較

firewalldiptables(ip6tables) の本質的な違いは以下の2つ

  • 設定ファイルの場所が違う
    • iptables は設定を /etc/sysconfig/iptables/etc/sysconfig/ip6tables に保存する
    • firewalld は設定を /usr/lib/firewalld//etc/firewalld/ に保存する
    • RHEL7 の初期状態では firewalld がデフォルトでインストールされるので /etc/sysconfig/iptables ファイルが存在しない
  • 設定追加に iptables は全て再読み込みを行うが、firewalld は差分更新のみを行う
    • firewalld では既存の接続が瞬断されることなく設定追加が可能

情報ソース

firewall-cmd コマンドラインツールを使用したファイアウォールの設定

ゾーンの設定

  • firewalld には典型的な設定のテンプレートであるゾーンが用意されている
  • ゾーンの種類は以下のとおり
    • drop
    • block
    • public
    • external
    • dmz
    • work
    • home
    • internal
    • trusted

ゾーンの設定と確認方法は以下のとおり

ポート開放

  • dmz ゾーンに対して、ポート 8080 への TCP トラフィックを許可する場合は以下のようなかたち
  • かならず --parmanent で永続化する

サービスを追加する場合は以下のようにできる

情報ソース