dockerとiptables

閲覧数: 37(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アドレスのあぶり出しに使っているに過ぎません。

カテゴリー公開, 閑話(IT)タグ, , ,
SSL化完了

最近は、個人のブログ(サーバー)でもSSL(Secure Sockets Layer)化するのが流行  続きを読む

コンテナの自動起動

最新バージョンのPHP-FPMをdockerのコンテナとして動かしてみたところ、思ったより安定して動  続きを読む

トリミング2

Wordpressの場合、Mediawikiより手厚い日本語環境(マルチバイト対応)が用意されている  続きを読む

非互換対応再び

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

google fontsのlocal化

google fontsの使い方では「web fonts」の使い方を簡単に説明しました。結果的に以下  続きを読む

検索精度を高める

検索ネタを連発するのはElasticsearchやElasticPressがバージョンアップした時の  続きを読む

スポンサーリンク

コメントを残す

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