thảo luận Cài đặt Adguard Home - Chặn quảng cáo trên VPS

Cách chặn từng quốc gia quá phiền phức, phải chọn từng quốc gia một. Nên áp dụng cách chỉ cho IP VN kết nối vào, còn lại chặn hết, như thế triệt để hơn. Để làm việc này thì cần làm 2 bước chính:

  • Chỉnh IP VN vào Source IP của zone public (default source IP của zone public là any)
  • Chuyển interface (card mạng của server) đang nằm default ở zone public sang zone drop

Khi 1 kết nối từ ngoài Internet đến server, FirewallD sẽ kiểm tra:

  • Source IP là bao nhiêu, nếu là IP VN => vào zone public, truy cập HTTP, DNS, SSH v.v...
  • Source IP khác IP VN => interface đang tiếp nhận kết nối thuộc zone nào, đang nằm ở zone drop => loại bỏ kết nối.

Loại bỏ cấu hình cũ, đưa FirewallD về default:

sudo su
rm -f /etc/firewalld/zones/*
firewall-cmd --complete-reload

Thêm các rule cho các dịch vụ hoạt động:

firewall-cmd --zone=public --add-port=3000/tcp --permanent
firewall-cmd --zone=public --add-port=53/udp --permanent
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --zone=public --add-port=853/tcp --permanent

Download list IP VN:

wget https://www.ipdeny.com/ipblocks/data/countries/vn.zone

Thêm IP VN vào Whitelist:

firewall-cmd --new-ipset=whitelist --type=hash:net --option=family=inet --option=hashsize=4096 --option=maxelem=200000 --permanent
firewall-cmd --ipset=whitelist --add-entries-from-file=./vn.zone --permanent

Chỉnh Whitelist vào Source của zone Public:

firewall-cmd --zone=public --add-source=ipset:whitelist --permanent

Kiểm tra các zone :

firewall-cmd --get-active-zones

=> Lưu ý zone public (default), xem interface nào đang nằm trong zone public, ví dụ eth0

Move interface (ví dụ eth0) vào zone drop:


firewall-cmd --zone=drop --change-interface=eth0 --permanent

Khởi động lại FirewallD để áp dụng các cấu hình vừa chỉnh:

firewall-cmd --reload

Tổng hợp cấu hình FirewallD:

firewall-cmd --zone=public --add-port=3000/tcp --permanent
firewall-cmd --zone=public --add-port=53/udp --permanent
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --zone=public --add-port=853/tcp --permanent
firewall-cmd --ipset=whitelist --add-entries-from-file=./vn.zone --permanent
firewall-cmd --zone=public --add-source=ipset:whitelist --permanent
firewall-cmd --zone=drop --change-interface=eth0 --permanent
 
Như thế này là còn phải chờ lâu k các bác ơi

Hello Oracle Cloud User,
Thank you for signing up for an Oracle Cloud Account. We are reviewing your request and may reach out to you shortly by phone or by email if we need additional inputs.

If you need to contact us, you may reach us over chat.
Thank you.
Integrated Cloud Applications & Platform Services
 
Cách chặn từng quốc gia quá phiền phức, phải chọn từng quốc gia một. Nên áp dụng cách chỉ cho IP VN kết nối vào, còn lại chặn hết, như thế triệt để hơn. Để làm việc này thì cần làm 2 bước chính:

  • Chỉnh IP VN vào Source IP của zone public (default source IP của zone public là any)
  • Chuyển interface (card mạng của server) đang nằm default ở zone public sang zone drop

Khi 1 kết nối từ ngoài Internet đến server, FirewallD sẽ kiểm tra:

  • Source IP là bao nhiêu, nếu là IP VN => vào zone public, truy cập HTTP, DNS, SSH v.v...
  • Source IP khác IP VN => interface đang tiếp nhận kết nối thuộc zone nào, đang nằm ở zone drop => loại bỏ kết nối.

Loại bỏ cấu hình cũ, đưa FirewallD về default:

sudo su
rm -f /etc/firewalld/zones/*
firewall-cmd --complete-reload

Thêm các rule cho các dịch vụ hoạt động:

firewall-cmd --zone=public --add-port=3000/tcp --permanent
firewall-cmd --zone=public --add-port=53/udp --permanent
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --zone=public --add-port=853/tcp --permanent

Download list IP VN:

wget https://www.ipdeny.com/ipblocks/data/countries/vn.zone

Thêm IP VN vào Whitelist:

firewall-cmd --new-ipset=whitelist --type=hash:net --option=family=inet --option=hashsize=4096 --option=maxelem=200000 --permanent
firewall-cmd --ipset=whitelist --add-entries-from-file=./vn.zone --permanent

Chỉnh Whitelist vào Source của zone Public:

firewall-cmd --zone=public --add-source=ipset:whitelist --permanent

Kiểm tra các zone :

firewall-cmd --get-active-zones

=> Lưu ý zone public (default), xem interface nào đang nằm trong zone public, ví dụ eth0

Move interface (ví dụ eth0) vào zone drop:


firewall-cmd --zone=drop --change-interface=eth0 --permanent

Khởi động lại FirewallD để áp dụng các cấu hình vừa chỉnh:

firewall-cmd --reload

Tổng hợp cấu hình FirewallD:

firewall-cmd --zone=public --add-port=3000/tcp --permanent
firewall-cmd --zone=public --add-port=53/udp --permanent
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --zone=public --add-port=853/tcp --permanent
firewall-cmd --ipset=whitelist --add-entries-from-file=./vn.zone --permanent
firewall-cmd --zone=public --add-source=ipset:whitelist --permanent
firewall-cmd --zone=drop --change-interface=eth0 --permanent
Đây là cách tối ưu nhất và mình cũng muốn làm. Tuy nhiên cách này có bất cập là Danh sách IP phụ thuộc vào IPdeny cung cấp, không biết đã cover hết 100% VN chưa.
-> Rủi ro xảy ra là IP động do nhà mạng cấp không/chưa có trong danh sách thì khỏi vào đc luôn.

Anyway cảm ơn thím, để mình thêm vào #4
 
Last edited:
Mình nghĩ không cần phải lo lắng về việc thiếu dải IP đâu, lý do là IPdeny cũng lấy nguồn từ các tổ chức quản lý Internet toàn cầu như APNIC (châu Á - TBD), ARIN (Châu Mỹ) v.v...Nhà mạng tại VN muốn thêm dải IP nào đều phải mua, đăng ký v.v... với các tổ chức này, từ đó thông tin định tuyến BGP được quảng bá toàn cầu, sau đó thì dải IP mới này mới kết nối Internet được.
 
sau bao lâu thì nó reset cái đoạn đếm các bác nhỉ. hở ra 1 tí mấy ông nước ngoài spam gớm

1606316264494.png
 
firewall-cmd --zone=drop --change-interface=eth0 --permanent
Bước này mình làm ko đc, interface của mình là ens3, reload xong rồi run "firewall-cmd --get-active-zones" thì nó vẫn trong public.
Google search thì sửa như này là đc:
echo "ZONE=drop" >> /etc/sysconfig/network-scripts/ifcfg-ens3
firewall-cmd --complete-reload
systemctl restart firewalld.service
 
Cách chặn từng quốc gia quá phiền phức, phải chọn từng quốc gia một. Nên áp dụng cách chỉ cho IP VN kết nối vào, còn lại chặn hết, như thế triệt để hơn. Để làm việc này thì cần làm 2 bước chính:

  • Chỉnh IP VN vào Source IP của zone public (default source IP của zone public là any)
  • Chuyển interface (card mạng của server) đang nằm default ở zone public sang zone drop

Khi 1 kết nối từ ngoài Internet đến server, FirewallD sẽ kiểm tra:

  • Source IP là bao nhiêu, nếu là IP VN => vào zone public, truy cập HTTP, DNS, SSH v.v...
  • Source IP khác IP VN => interface đang tiếp nhận kết nối thuộc zone nào, đang nằm ở zone drop => loại bỏ kết nối.

Loại bỏ cấu hình cũ, đưa FirewallD về default:

sudo su
rm -f /etc/firewalld/zones/*
firewall-cmd --complete-reload

Thêm các rule cho các dịch vụ hoạt động:

firewall-cmd --zone=public --add-port=3000/tcp --permanent
firewall-cmd --zone=public --add-port=53/udp --permanent
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --zone=public --add-port=853/tcp --permanent

Download list IP VN:

wget https://www.ipdeny.com/ipblocks/data/countries/vn.zone

Thêm IP VN vào Whitelist:

firewall-cmd --new-ipset=whitelist --type=hash:net --option=family=inet --option=hashsize=4096 --option=maxelem=200000 --permanent
firewall-cmd --ipset=whitelist --add-entries-from-file=./vn.zone --permanent

Chỉnh Whitelist vào Source của zone Public:

firewall-cmd --zone=public --add-source=ipset:whitelist --permanent

Kiểm tra các zone :

firewall-cmd --get-active-zones

=> Lưu ý zone public (default), xem interface nào đang nằm trong zone public, ví dụ eth0

Move interface (ví dụ eth0) vào zone drop:


firewall-cmd --zone=drop --change-interface=eth0 --permanent

Khởi động lại FirewallD để áp dụng các cấu hình vừa chỉnh:

firewall-cmd --reload

Tổng hợp cấu hình FirewallD:

firewall-cmd --zone=public --add-port=3000/tcp --permanent
firewall-cmd --zone=public --add-port=53/udp --permanent
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --zone=public --add-port=853/tcp --permanent
firewall-cmd --ipset=whitelist --add-entries-from-file=./vn.zone --permanent
firewall-cmd --zone=public --add-source=ipset:whitelist --permanent
firewall-cmd --zone=drop --change-interface=eth0 --permanent
alo bác, giờ VPS bị chặn ip của vn rùi nên ko ssh vào được nữa. có cách nào để xóa firewall ko bác nhỉ.
 
Thôi xóa luôn vps làm lại từ đầu đi bác :v

@rainsg : trường hợp ko ngờ tới đã xảy ra :v
thì add hết cái list này nè bác.
Có thể tải về file trên về máy tính và để mở ra xem danh sách chi tiết.
Một số quốc gia thường bị chặn: ar, bd, bg, br, by, cn, co, il, in, ir, kp, ly, mn, mu, pa, sd, tw, ua, ro, ru, ve, sa, ca, eg, jo.

éo hiểu sao lại chặn ip VN. :v
 
thì add hết cái list này nè bác.
Có thể tải về file trên về máy tính và để mở ra xem danh sách chi tiết.
Một số quốc gia thường bị chặn: ar, bd, bg, br, by, cn, co, il, in, ir, kp, ly, mn, mu, pa, sd, tw, ua, ro, ru, ve, sa, ca, eg, jo.

éo hiểu sao lại chặn ip VN. :v
cái mn có khi ông gõ thành vn mà ko biết :LOL:)
 
Sao không dùng cách của mình nhỉ (chỉ cho VN vào, còn lại chặn hết) ? Loay hoay với cái list mấy chục quốc gia thì sai sót là chuyện thường.
 
Back
Top