中国からのアクセスを遮断 (firewalld編)

DNSサーバーなどを公開してると、中国からのマナーの悪いアクセスでログが埋まっちゃうことがあるよね💦
そこで!firewalldを使って中国からのIPアドレスをスッキリ遮断しちゃおう!✨

🔧 Step 1: 必要なツールをインストール

sudo dnf install -y firewalld curl

※ firewalld が無効なら以下で有効にして起動してね👇


sudo systemctl enable firewalld
sudo systemctl start firewalld
sudo firewall-cmd --state  # → running になればOK
    

📥 Step 2: 中国のIPリストを取得しよう

🚀 Step 3: 初回の手動登録(まずこれやろう!)


# firewalldを一時的に設定(永続化は次の手順)

# IPv4のIPリスト登録
curl -s https://www.ipdeny.com/ipblocks/data/aggregated/cn-aggregated.zone \
  | xargs -n1 -I{} sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="{}" reject'

# IPv6のIPリスト登録(エラーになるIPもあるので注意)
curl -s https://www.ipdeny.com/ipv6/ipaddresses/aggregated/cn-aggregated.zone \
  | xargs -n1 -I{} sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv6" source address="{}" reject'

# 設定を適用
sudo firewall-cmd --reload
    

📅 Step 4: 毎日自動更新する設定

以下のスクリプトを作って、自動で最新のIPを取得&ブロックするようにしよう⏰

📜 スクリプトの作成

sudo vi /usr/local/bin/update-china-firewalld.sh

中身はこれ👇

#!/bin/bash

IPV4_URL="https://www.ipdeny.com/ipblocks/data/aggregated/cn-aggregated.zone"
IPV6_URL="https://www.ipdeny.com/ipv6/ipaddresses/aggregated/cn-aggregated.zone"

# 既存ルール削除
firewall-cmd --permanent --remove-rich-rules='rule family="ipv4" source address= reject'
firewall-cmd --permanent --remove-rich-rules='rule family="ipv6" source address= reject'

# IPv4追加
curl -s $IPV4_URL | xargs -n1 -I{{}} firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="{{}}" reject'

# IPv6追加(IPが不正な場合エラーが出ることも)
curl -s $IPV6_URL | xargs -n1 -I{{}} firewall-cmd --permanent --add-rich-rule='rule family="ipv6" source address="{{}}" reject'

# 反映
firewall-cmd --reload

実行権限を付けよう👇

sudo chmod +x /usr/local/bin/update-china-firewalld.sh

🕒 cronに登録して毎日03:00に実行

sudo crontab -e

以下を追加👇

0 3 * * * /usr/local/bin/update-china-firewalld.sh >/dev/null 2>&1

✅ これで完了!

・初回登録済み!
・毎日03:00にIP自動更新✨
・ログもスッキリ!
・サーバーも軽くなる〜💨

おつかれさま〜💛

コメント

このブログの人気の投稿

ゲーム発展国++ のコツ

Nuro光 ONU F660A オススメ設定

Xperia XZ Premium に BlissRoms というカスタムROMを入れてみた