Giới thiệu
Chào mừng bạn đến với một hướng dẫn khác của Vultr. Hôm nay chúng ta sẽ học cách sử dụng IPTables và IP2Location để chặn địa chỉ IP từ một số quốc gia nhất định. IP2Location cung cấp cơ sở dữ liệu của các khối địa chỉ IP quốc gia dưới dạng dịch vụ miễn phí.
Điều kiện tiên quyết
Trước khi chúng tôi làm bất cứ điều gì, chúng tôi phải đảm bảo có iptables
và ipset
cài đặt:
yum install iptables ipset -y
service iptables start
Chọn quốc gia để chặn
Truy cập dịch vụ chặn khách truy cập IP2Location . Trong ví dụ này, chúng tôi sẽ chặn các kết nối từ Iceland, vì vậy chúng tôi sẽ chọn Iceland từ danh sách.
Sau khi làm như vậy, chọn "Linux IPTables" làm định dạng đầu ra. Nó sẽ trông giống như:
Tải tệp lên máy chủ của bạn với ứng dụng khách FTP yêu thích của bạn. Tôi sử dụng FileZilla .
Chặn IP
Khi bước trước hoàn thành, truy cập SSH trên máy chủ của bạn và đi đến thư mục nơi tệp được tải lên.
Đổi tên tập tin thành block.txt
.
Bây giờ chúng tôi sẽ xử lý tệp của các khối IP. Tạo một kịch bản shell.
vi process.sh
Dán đoạn mã sau vào tập lệnh:
#!/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
Lưu tệp và thoát trình soạn thảo văn bản.
Chạy kịch bản.
sh process.sh
Cuối cùng, lưu IPTables và tải lại:
service iptables save
service iptables reload
Phần kết luận
Bây giờ bạn đã chặn thành công một quốc gia truy cập máy chủ Vultr của bạn. Nếu bạn muốn xóa khối, chỉ cần xóa quy tắc khỏi IPTables.