firewalldが標準になり、ipsetはどうやって使うんだろうと思っていましたが、firewalldの設定でOKのようです。
先日設定したVPN接続を国内からのみ許可するように設定しました。
IPアドレスのリストは、http://nami.jp/ipv4bycc/で配布されているものを利用させてもらうのが簡単かと思います。
私は、IPv6のリストも欲しかったので、RIRが提供してるリストを加工して利用することにしました。
- ftp://ftp.arin.net/pub/stats/arin/delegated-arin-extended-latest
- ftp://ftp.ripe.net/pub/stats/ripencc/delegated-ripencc-extended-latest
- ftp://ftp.apnic.net/pub/stats/apnic/delegated-apnic-extended-latest
- ftp://ftp.lacnic.net/pub/stats/lacnic/delegated-lacnic-extended-latest
- ftp://ftp.afrinic.net/pub/stats/afrinic/delegated-afrinic-extended-latest
以下の環境で設定しています。
1 2 3 4 5 | $ cat /etc/centos-releaseCentOS Linux release 7.5.1804 (Core) $ uname -rv3.10.0-862.3.2.el7.x86_64 #1 SMP Mon May 21 23:36:36 UTC 2018$ |
まず、国内からのアクセスを扱うように新しいゾーンを作成します。
1 | # firewall-cmd --permanent --new=zone=domestic |
1 2 | # firewall-cmd --permanent --new-ipset=DOMESTICv4 --type=hash:net# firewall-cmd --permanent --new-ipset=DOMESTICv6 --type=hash:net --family=inet6 |
1 2 3 4 | # firewall-cmd --reload# firewall-cmd --get-ipsetsDOMESTICv4 DOMESTICv6# |
1 2 | # firewall-cmd --permanent --ipset=DOMESTICv4 --add-entries-from-file=./ipv4_list# firewall-cmd --permanent --ipset=DOMESTICv6 --add-entries-from-file=./ipv6_list |
1 2 3 4 5 6 7 8 9 10 11 | $ firewall-cmd --ipset=DOMESTICv4 --get-entries |head1.0.16.0/201.0.64.0/181.1.64.0/181.5.0.0/161.21.0.0/161.33.0.0/161.66.0.0/151.72.0.0/131.112.0.0/1414.0.8.0/22 |
1 2 | # firewall-cmd --permanent --zone=domestic --add-source=ipset:DOMESTICv4# firewall-cmd --permanent --zone=domestic --add-source=ipset:DOMESTICv6 |
あとは、domesticゾーンに必要なサービスを追加して、デフォルトゾーン(ここではpublic)から不要なサービスを削除すればOKです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | # firewall-cmd --permanent --zone=domestic --add-service=ssh# firewall-cmd --permanent --zone=domestic --add-service=ipsec# firewall-cmd --permanent --zone=domestic --add-port=5555/tcp## firewall-cmd --permanent --zone=public --remove-service=ssh# firewall-cmd --permanent --zone=public --remove-service=ipsec# firewall-cmd --permanent --zone=public --remove-port=5555/tcp## firewall-cmd --reload# firewall-cmd --info-zone=domesticdomestic (active) target: default icmp-block-inversion: no interfaces: sources: ipset:DOMESTICv4 ipset:DOMESTICv6 services: ssh ipsec ports: 5555/tcp protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: |
0 件のコメント:
コメントを投稿