CentOS7でポートを解放する方法は過去書いたけど
サーバー構築時にはポートの設定をいじることは当たり前だけど 最近(?)では仮想環境でのアプリ開発も普通なので 自分である程度設定できたほうがいいよね。 Centos6とCentos7のポート開放 ご存じの通りCento6とCentos7でポート開放の方法は異なります....
色々サーバー設定をしていると特定のIPからのアクセスだけ許可したいとかあるよね。
例えば、80へのアクセスは内部IPからのみだけとか。
今回は、httpポートに対してプライベートIPアドレスである192.168.0.0/16からのみアクセスできるようにする。
コマンドでIP制限をする
手順としては、カスタムzoneを作成してそちらで制御する方針。
set-target, add-sourceとadd-serviceでやってくよ。
1 2 3 4 5 |
firewall-cmd --permanent --new-zone=customMyZone firewall-cmd --permanent --zone=customMyZone --set-target=ACCEPT firewall-cmd --permanent --zone=customMyZone --add-source=192.168.0.0/16 firewall-cmd --permanent --zone=customMyZone --add-service=http firewall-cmd --reload |
これだけ。
反映されているかは、 firewall-cmd --list-all --zone=customMyZoneで確認できる。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
# firewall-cmd --list-all --zone=customMyZone customMyZone (active) target: ACCEPT icmp-block-inversion: no interfaces: sources: 192.168.0.0/16 services: http protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: |
ちゃんとできてるね。
ファイル編集でIP制限をする
customMyZoneというzoneを作るので、
/etc/firewalld/zones/customMyZone.xmlに下記のように記載する。
1 2 3 4 5 |
<?xml version="1.0" encoding="utf-8"?> <zone target="ACCEPT"> <source address="192.168.0.0/16"/> <service name="http"/> </zone> |
こんな感じ。
なれるとかんたんだね。
詳しくは公式サイトをみてね。
じゃあね〜〜〜〜〜。