CentOS7ではファイアーウォールの設定をfirewallというコマンドで行います。要はportのブロックですね。
以前下記リンクでもfirewallについて書いたんですが、あまり理解もできていなかったので再履修です・・・
http://skill-up-engineering.com/?p=689
インストール&起動
1 2 3 4 5 |
#通常はディフォルトでインストールされているのでする必要ないです。 yum -y install firewalld #起動&自動起動設定 systemctl start firewalld.service systemctl enable firewalld.service |
CentOS7.1 64bit firewalldによるアクセス制御
許可されているサービス一覧
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
firewall-cmd --list-all public target: default icmp-block-inversion: no interfaces: sources: services: dhcpv6-client samba ssh ports: protocols: masquerade: no forward-ports: sourceports: icmp-blocks: rich rules: #serviceは以下のコマンドで firewall-cmd --list-services dhcpv6-client samba ssh |
サービス追加
1 2 3 |
#permanetは再起動しても有効に。という意味です。 firewall-cmd --permanent --add-service=http success(←うまくいった場合はこのような文字が出ます。) |
ansibleでの稼働
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
- name: start_firewall #systemdはこれで稼働できます。 systemd: name: firewalld.service state: started daemon_reload: yes enabled: yes tags: start_firewall #immediateを使うと再起動せずに即反映されます。 - firewalld: service={{item}} permanent=true state=enabled immediate=true with_items: - http - mysqld - ssh tags: set_port |
参考リンク
AnsibleでFirewalldモジュールを使うときの注意
ansible で systemd 配下のサービスを扱う
Ansible モジュール firewalld
Ansibleでfirewalldを設定(ポート開閉)
Ansible firewalldを使ってみた