chặn bên ngoài dns, sửa lỗi dns rò rỉ Ubuntu 18.04


10

Sử dụng kiểm tra rò rỉ dns trong khi theo VPN của tôi, tôi phát hiện ra rằng nó đã bị rò rỉ. Tôi đã thiết lập VPN của mình thông qua NetworkManager và nó hoạt động bình thường trừ trường hợp rò rỉ.

Đầu tiên, tôi đã cố gắng thêm block-outside-vpnvào tập tin cấu hình ngoại trừ việc bên dưới /etc/NetworkManager/system-connectionsnó không theo cùng định dạng. Tôi không thể tìm thấy tài liệu về cách viết đúng cho rò rỉ dns.

Ngoài ra, sử dụng Ubuntu 18.04 decv.conf không hoạt động như trước, tất cả các câu trả lời khác đều dựa trên điều đó.

Tóm lại, làm thế nào để chặn bên ngoài dns (rò rỉ) bằng các tệp cấu hình Network Manager hoặc GUI?


block-outside-vpnthông thường chỉ là một tùy chọn kết nối Windows OpenVPN. Khắc phục sự cố "rò rỉ" DNS sẽ là sử dụng một máy chủ DNS cụ thể chỉ tồn tại ở phía bên kia của VPN. Kết quả kiểm tra rò rỉ DNS bạn đã thấy là gì? (chúng có liên quan)
Thomas Ward

Câu trả lời:


3

Tôi đề nghị sử dụng dnscrypt.

Đầu tiên cài đặt nó:

sudo apt install dnscrypt-proxy

Theo mặc định, nó sẽ lắng nghe 127.0.2.1cổng 53.

Chỉnh sửa VPN của bạn hoặc bất kỳ kết nối nào bạn thích và đặt 127.0.2.1làm máy chủ DNS của nó, sử dụng CLI bạn có thể chạy:

nmcli connection modify [CONNECTION-NAME] ipv4.dns 127.0.2.1

Và chỉ trong trường hợp chặn các yêu cầu DNS đang diễn ra:

sudo ufw deny out 53

Và đảm bảo tường lửa được bật:

sudo ufw enable

DNS của tôi vẫn bị rò rỉ theo thử nghiệm rò rỉ DNS. Điều quan trọng cần đề cập là việc tắt VPN trong khi ufw được bật sẽ khiến internet không khả dụng (cổng 53 bị chặn).
Pobe

Chạy lệnh này: nmcli connection modify [CONNECTION-NAME] ipv4.ignore-auto-dns yesxem nếu nó giúp.
Ravexina

3

Để khắc phục rò rỉ DNS trên Ubuntu 18.04, bạn có thể chỉnh sửa tệp có tên /etc/dhcp/dhclient.conf. Theo trang hướng dẫn, tệp này "cung cấp phương tiện để định cấu hình một hoặc nhiều giao diện mạng bằng Giao thức cấu hình máy chủ động, giao thức BOOTP hoặc nếu các giao thức này bị lỗi, bằng cách gán tĩnh một địa chỉ."

Để khắc phục rò rỉ DNS của bạn, chúng tôi sẽ chỉnh sửa tệp này. Mở nó với các quyền thích hợp, bạn sẽ thấy một dòng nhận xét trông giống như thế này:

#prepend domain-name-servers 127.0.0.53;

Bỏ ghi chú dòng này và thay đổi máy chủ tên miền thành một máy chủ khác, chẳng hạn như OpenDNS: 208.67.222.222. Sử dụng địa chỉ OpenDNS này, dòng này sẽ trông như thế này:

prepend domain-name-servers 208.67.222.222;

Sau khi lưu tệp và khởi động lại hệ thống của bạn, việc này sẽ khắc phục rò rỉ DNS trên Ubuntu 18.04.


Hoặc bạn chỉ có thể chỉnh sửa kết nối của mình trong GUI và nhận được kết quả tương tự: mở cửa sổ chỉnh sửa cho kết nối của bạn => Cài đặt IPv4 / IPv6, thay đổi "Phương thức" thành "Tự động, chỉ địa chỉ" và thêm "máy chủ DNS" của bạn.
GoodGuyNick

Phương thức của @oodGuyNick qua GUI không hoạt động với tôi. Tôi đã giải quyết vấn đề này cả ngày và chỉ có thủ thuật "trả trước tên miền máy chủ" mới hoạt động. Hallelujah cho câu trả lời này. Mọi thứ khác tôi đã thử (bao gồm GUI cho máy chủ DNS) đã bị ghi đè và không tồn tại khi khởi động lại.
hại

3

Nếu bạn bị rò rỉ DNS như được chỉ định bằng cách kiểm tra trên browserleaks.com hoặc dnsleaktest.com ,

  1. Tắt kết nối VPN của bạn

  2. Cố gắng hoàn tác bất kỳ chỉnh sửa tệp .conf nào mà bạn đã lãng phí thời gian. Nếu bạn đã thử rất nhiều đề xuất khác nhau, cơ hội tốt nhất của bạn có thể là cài đặt mới và đảm bảo bạn cũng đã cài đặt trình quản lý mạng-openvpn-gnome vì Ubuntu không có cấu hình nhập VPN được cung cấp theo mặc định.

  3. Cài đặt dnsmasq

    sudo apt update
    sudo apt install dnsmasq  
    
  4. Vô hiệu hóa giải quyết

    sudo systemctl disable systemd-resolved.service
    sudo systemctl stop systemd-resolved.service 
    
  5. Xóa / etc/resolv.confvà tạo một cái mới:

    sudo rm /etc/resolv.conf
    sudo nano /etc/resolv.conf  
    
  6. Nhập vào .conftập tin trống của bạn :

    nameserver 127.0.0.1`         that's all!
    
  7. Nhấn Ctrl+ x để thoát trình chỉnh sửa. Nhập yđể lưu và sau đó nhấn Enterđể ghi đè lên resolv.conftệp mới của bạn .

  8. Chỉnh sửa tập tin NetworkManager.conf của bạn

    sudo nano /etc/NetworkManager/NetworkManager.conf 
    

    và thêm vào như sau:

    dns=dnsmasq 
    

    bên dưới các dòng (điều hướng bằng các phím mũi tên), [main] và plugins = ifupdown, keyfile chính xác như thế này với dòng mới được thêm vào.

    [main]
    plugins=ifupdown, keyfile
    dns=dnsmasq
    

    Nhấn Ctrl+ xđể thoát trình chỉnh sửa. Nhập y để lưu và sau đó nhấn Enterđể ghi đè lên tệp.

  9. Thoát khỏi thiết bị đầu cuối, và khởi động lại hệ thống và kiểm tra trang web thử nghiệm dnsleak của bạn để biết kết quả.

Nhờ có VPN ẩn danh mà các giải pháp cho Rò rỉ trên Ubuntu / Trình quản lý mạng dường như đã được nghiên cứu và thành công. HỌ LÀM VIỆC và khi không có giải pháp nào khác hiệu quả với tôi, những việc này đã làm. Giải pháp hiển thị ở trên hoạt động cho Ubuntu 17.x và 18.04 LTS . Xem giải pháp khác của anh ấy cho 16.04 LTS .


Tôi đã thử nghiệm giải pháp này trên máy ảo và tất cả đều hoạt động. Sau đó, tôi đã thử trên một máy chính và thấy dns từ VPN và dns bị rò rỉ. Trên một máy ảo nameserverthay đổi từ 127.0.2.1đến 192.168.122.1và khi tôi kết nối với VPN trong một resolv.conftôi nhìn thấy hai nameserverdòng, một với 192.168.122.1và khác với VPN dns nhưng trên một máy chính tôi luôn luôn nhìn thấy hai dòng search lan nameserver 127.0.1.1.
GoodGuyNick

Làm thế nào tôi có thể làm những gì mà không có người quản lý mạng? chỉ cần đặt dns trong / etc / mạng / giao diện?
Mehdi

1

Tôi đã vật lộn với vấn đề chính xác này trong 2 ngày trước khi tìm giải pháp hiệu quả cho mình tại đây: /unix//a/470940

TL; DR

$ cd /etc/NetworkManager/system-connections

Đây là nơi lưu trữ các kết nối được tạo với Trình quản lý mạng.

$ sudo nmcli connection modify <vpn-connection-name> ipv4.dns-priority -42

Lệnh đơn giản để sửa đổi tập tin cấu hình kết nối. Có thể được thực hiện bằng tay là tốt nhưng cách này tôi tin là dễ dàng hơn.

$ sudo service network-manager restart

Thực hiện các thay đổi áp dụng cho hệ thống của bạn.

Về cơ bản sao chép dán từ các liên kết ở trên, tín dụng cho tác giả ban đầu.

Nếu hệ thống của bạn không biết nmcli hoặc thêm kết nối bằng GUI quản lý mạng sẽ gây ra lỗi, tôi khuyên bạn nên liên kết này

Bây giờ cho những gì ít giải thích và nhiều nhận xét hơn (bản thân tôi không biết gì).

Tôi đã thử nhiều giải pháp bao gồm cả giải phápvv, dnsmasq và dnscrypt, tất cả đều dẫn đến việc internet của tôi bị chặn hoàn toàn hoặc khi kết nối vpn bị tắt. Không ai trong số họ giải quyết được vụ rò rỉ dns, theo dnsleaktest.com . Nếu bất kỳ điều nào trong số này được cố gắng, mỗi bước trên đường đi sẽ được theo dõi để có thể đảo ngược chúng trong trường hợp kết quả không mong muốn. Tôi đã mất không ít thời gian để sửa lỗi hết lần này đến lần khác mà không cần đoán, internet. Tôi không khẳng định rằng các giải pháp này không có thời gian làm việc, tôi rất có thể đã mắc một số sai lầm ở đâu đó.
Tuy nhiên, giải pháp tôi liên kết đến có một lợi thế rất lớn là nó không gây rối với các cài đặt mạng chung, mà chỉ với một kết nối bạn đang sửa đổi.

Tiếp theo, block-bên ngoài dns, như đã đề cập ở đây trước đây, là một giải pháp chỉ dành cho cửa sổ và đã ném một số loại tùy chọn không được nhận ra trên hệ thống ubfox của tôi.

Sử dụng lệnh ovpn cli cũng không giải quyết được rò rỉ cho tôi.

Liên kết tôi đã cung cấp đề cập một lời giải thích ( ở đây ) về một số phiên bản không nhất quán được khắc phục trong Ubuntu 18.10, có thể ai đó có chuyên môn hơn về chủ đề này quan tâm để giải thích thêm. Nếu đó là sự thật, người dùng LTS sẽ phải chờ tháng 4 năm sau afaik.

Cuối cùng tôi muốn chỉ ra rằng đối với cư dân của các quốc gia có kiểm duyệt internet, việc rò rỉ dns đặt ra một vấn đề nặng nề vì cho phép truy cập isp cục bộ vào lưu lượng truy cập của bạn và sẽ dẫn đến các tên miền bị kiểm duyệt bị chặn mặc dù được kết nối với vpn. Vì vậy, đối với các chuyến thăm tương lai đến Trung Quốc, vv, đây là điều bạn muốn chăm sóc trước.

Hi vọng điêu nay co ich.


0

Hãy thử sử dụng update-systemd-resolvedtập lệnh không thực hiện thay đổi đối với resolv.confvà thay vào đó sử dụng systemd-resolveddịch vụ bằng API DBus

Lấy nó từ git và cài đặt nó bằng cách:

git clone https://github.com/aghorler/update-systemd-resolved.git
cd update-systemd-resolved
make

Bây giờ chỉnh sửa nsswitch.confbằng:

sudo nano /etc/nsswitch.conf

và sau đó thay đổi dòng bắt đầu bằng hosts:nói

hosts: files resolve dns myhostname

Kích hoạt dịch vụ và đảm bảo nó chạy tự động:

sudo systemctl enable systemd-resolved.service
sudo systemctl start systemd-resolved.service

LƯU Ý: Nếu bạn không muốn làm theo các bước trên và bạn vẫn ổn khi sử dụng thiết bị đầu cuối, rò rỉ DNS chỉ xảy ra khi sử dụng NetworkManager, cho đến nay theo kinh nghiệm của tôi không xảy ra khi bạn chạy openvpn từ thiết bị đầu cuối vớisudo openvpn --config config.ovpn


Điều gì sẽ là dòng trong config.ovpn sẽ chặn rò rỉ? Bạn có một ví dụ về điều đó? (Giải pháp trên không hiệu quả với tôi).
Pobe

0

Tôi đã thử mọi giải pháp tôi có thể tìm thấy trên mạng để khắc phục sự cố rò rỉ dns. Openvpn bắt đầu tốt nhưng cho thấy nó đã bị rò rỉ khi tôi đến các trang web thử nghiệm. Sau khi tôi không có niềm vui khi thử tất cả các biện pháp khắc phục, tôi đã vào cài đặt wifi và ethernet của mình và sử dụng các máy chủ dns của openvpn thay vì ISP của tôi và mọi thứ đều ổn từ đó trở đi. Tôi chắc chắn rằng bạn đã thấy các địa chỉ IP ở khắp mọi nơi nhưng ở đây chúng là nếu bạn không có: 208.67.222.222 và 208.67.220.220.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.