معرفیبه یکی دیگر از آموزش Parsvds خوش آمدید امروز ما در حال یادگیری نحوه استفاده از IPTables و IP2Location برای جلوگیری از آدرس های IP از کشورهای خاص هستیم.
پیش نیازها
قبل از انجام هر کاری، باید اطمینان حاصل کنیم که Iptables و ipset نصب شده است:
1 2 3 |
yum install iptables ipset -y service iptables start |
کشورها را انتخاب کنید تا مسدود شوند
از سرویس blocker بازدیدکننده IP2Location بازدید کنید. در این مثال، ما اتصالات را از ایسلند مسدود می کنیم، بنابراین ایسلند را از لیست انتخاب خواهیم کرد(مطابق تصویر)
پس از انجام این کار، “IPTables Linux” را به عنوان فرمت خروجی انتخاب کنید. به این صورت:
فایل را با سرور FTP مورد نظر خود بارگذاری کنید. من از FileZilla استفاده میکنم.
مسدود کردن IP ها
پس از تکمیل مرحله قبل، SSH را در سرور خود وارد کنید و به دایرکتوری که فایل آپلود شده دسترسی داشته باشید.
تغییر نام پرونده به block.txt.
اکنون فایل پرونده های IP های بلوک شده را پردازش می کنیم. یک اسکریپت ایجاد کنید.
1 2 |
vi process.sh |
دستورالعمل های زیر را وارد کنید:
1 2 3 4 5 6 |
#!/bin/bash #Script to process ip ranges to ban using IPSet and IPTables ipset create countryblock hash:net while read line; do ipset add countryblock $line; done < (block.txt) iptables -I INPUT -m set --match-set countryblock src -j DROP |
فایل را ذخیره کنید و از ویرایشگر متن خارج شوید.
اجرای اسکریپت.
1 2 |
sh process.sh |
در نهایت، ذخیره در IPTables و بارگذاری مجدد:
1 2 3 |
service iptables save service iptables reload |
نتیجه
شما در حال حاضر موفق به مسدود کردن یک کشور از دسترسی به سرور Parsvds خود شدید. اگر می خواهید بلاک را حذف کنید، به سادگی قوانین را از IPTables حذف کنید.
سلام. پس میشه تمام کشورها رو به غیر ایران بلاک کرد درسته؟ اینطوری مشکل خاصی پیش نمیاد؟
بله میتونید ولی باید تمامی رنج ها اپدیت باشند