dockerとiptables

閲覧数: 42(0)

クラウドサーバーを利用する場合、ファイアウォール(Firewalld/iptables)の設定に失敗して「リモート端末からサーバーへログイン出来なくなる」というリスクは絶対に避ける必要があります。そのリスク回避のため、このサーバーではファイアウォール機能を自動起動から外しています(サーバー再起動時にファイアウォールは自動起動しない)が、最近導入して楽(苦)しんでいる「docker」はファイアウォールが稼働している場合、その機能を前提としているので、ファイアウォールを後から起動した場合には、折角自動起動に成功したdockerですが、外部と通信する場合には再起動が必要です。さらにファイアウォール側に設定するdockerの仮想ネットワーク名を固定するには以下の設定が必要で、この設定が無いとdockerは毎回ランダムなインタフェース名を付けるのでファイアウォール側で毎回再設定が必要となってしまいます、、、というか「前回」の設定では再起動するとインタフェース名が変わるので気が付きました(笑)

仮想ネットワーク名を固定する設定は以下の通りです。
「com.docker.network.bridge.name:」に任意のネットワーク名を付けることが出来ます。ここで付けた名前が「ifconfig」でインタフェース名として表示されるのでFirewalld/iptablesではその名称が使用できます。

version: '3'
services:
 app:
    build: ./php-fpm
    image: php-fpm_app
    networks:
        - docker-net
    ports:
        - 9001:9000
    volumes:
        - /var/www/html/wp:/var/www/html/wp
networks:
    docker-net:
        driver: bridge
        ipam:
            driver: default
            config:
                - subnet: 172.18.0.0/16
        driver_opts:
            com.docker.network.bridge.name: bridge0

サーバー再起動時にファイアウォールが起動しないと危ないと思われるかもしれませんがAWS/EC2はVPC上で稼働しているため、VPCのネットワークACLで除外必須のアドレスは出禁にしています。ネットワークACLでの遮断では、そもそもネットワークトラフィックがサーバーへ到達しませんのでサーバー自体は完ぺきに守られていると言えます。サーバー上のファイアウォールはあくまでもネットワークACLで除外するためのIPアドレスのあぶり出しに使っているに過ぎません。

最終更新日: 2021年1月10日

カテゴリーIT閑話, 公開タグ, , ,
コンテナとFirewall

三日連続のdockerネタです。前回の「コンテナの自動起動」でサーバーを再起動した時にコンテナ(ph  続きを読む

記事に地図を表示する
blank

オープンストリートマップ用のプラグイン(OSM)を使って記事中に地図を表示するようにしました。自称「  続きを読む

非互換対応
blank

久しぶりのメジャーバージョンアップ(1.38 --> 1.39)が行われた「Mediawiki」関連  続きを読む

MediawikiのExtension:...
blank

旅日記ネタが続いたので久しぶりにITネタを。本来アクセス数を稼ぐブログでは統一したテーマで一貫して書  続きを読む

そろそろ更新の準備を
blank

と思って、PHPエラーを表示(display_errors=on)するようにして様子を見る。そもそも  続きを読む

非互換対応再び
blank

サイトのお守りというのは、言い換えれば「それらを構成するソフトウェア群とそれらが稼働するハードウェア  続きを読む

スポンサーリンク

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください