Độ phân giải miền OpenVPN, độ phân giải và DNS


8

Trong khi tại site1, tôi cần kết nối với site2 qua OpenVPN. Sau khi được kết nối, trang web OpenVPN sẽ đẩy các tùy chọn tìm kiếm tên miền và máy chủ DNS. Điều này khiến tất cả các độ phân giải tên cho site1 không thành công.

Thí dụ:

  1. Kết nối vật lý tại site1, DHCP đẩy các tùy chọn DNS và phân giải quản lý chúng.
    /etc/resolv.conf

    # Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
    #     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
    nameserver 172.16.1.101
    nameserver 172.16.1.102
    search site1.internal.domain
    
  2. Mở đường hầm OpenVPN tới site2, OpenVPN đẩy DNS tùy chọn dhcp và DOMAIN cho site2 và /etc/openvpn/update-resolv-confđẩy chúng đến độ phân giải.
    /etc/resolv.conf

    # Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
    #     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
    nameserver 192.168.1.5
    nameserver 172.16.1.101
    nameserver 172.16.1.102
    search site2.internal.domain site1.internal.domain
    
  3. Độ phân giải DNS hoạt động cho server.site2.i INTERNal.domain nhưng không thành công cho server.site1.i INTERNal.domain

Có cách nào mà bất kỳ yêu cầu DNS không thành công nào đến site21 đều rơi vào máy chủ DNS của site1 không? Hoặc định cấu hình độ phân giải mà chỉ truy vấn cho trang web2.iternal.domain nên được chuyển đến máy chủ tên trang web2?

Tôi sử dụng máy Ubuntu 14.04 tại site1 và máy chủ OpenVPN tại site2 là hộp pfSense 2.2. Tôi quản lý cả hai trang web để thực hiện thay đổi cho cả hai bên không phải là vấn đề. Cả hai miền đều không công khai và chỉ sử dụng nội bộ.


Tôi nên thêm rằng mặc dù máy tính xách tay là Ubuntu 14.04, tôi không sử dụng NetworkManager.
Tim Jones

1
Tôi quan tâm xem liệu có cách nào linh hoạt để chuyển hướng các câu hỏi DNS sang các máy chủ khác nhau hay không, ví dụ bằng cách kiểm tra FQDN .. :)
nass

Câu trả lời:


1

Bạn có thể thiết lập một máy chủ bộ nhớ đệm cục bộ sẽ theo dõi /etc/resolv.conf, vì nó được thay đổi bởi resolvconfcác tập lệnh và thử lấy câu trả lời từ tất cả các máy chủ tên được liệt kê ở đó.

Trên nhiều hệ thống, sẽ đủ để cài đặt gói dnsmasq , ngoài độ phân giải.

Mặc định nên "chỉ hoạt động" với điều kiện là các lệnh no-resolvno-pollkhông có /etc/dnsmasq.conflogiao diện nằm ở đầu /etc/resolvconf/interface-order. Nếu một máy chủ tên ngược dòng trả về một số IP tùy ý cho các địa chỉ không thể giải quyết, strict-ordertrong dnsmasq.conf có thể giúp đỡ. Bạn /etc/resolv.confchỉ nên hiển thị nameserver 127.0.0.1.

Nếu bạn thích thiết lập cố định hoặc kết nối với nhiều mạng không liên quan và muốn tránh rò rỉ tên mạng riêng của mình, tất cả các máy chủ tên, bạn nên định cấu hình dnsmasq để truy vấn các máy chủ cụ thể dựa trên miền:

# /etc/dnsmasq.conf

# site1 servers
nameserver=/site1.internal.domain/172.16.1.101
nameserver=/site1.internal.domain/172.16.1.102

# site2 servers
nameserver=/site2.internal.domain/192.168.1.5

# default OpenNIC (optional, unless 'no-resolv' is set). 
server=51.15.98.97
server=172.104.136.243

Để biết thêm thông tin về các tùy chọn dnsmasq xem tại đây: http://oss.segetech.com/intra/srv/dnsmasq.conf


0

decv.conf liệt kê tất cả các máy chủ DNS có sẵn. Miễn là cái đầu tiên trong danh sách được chạy và chạy, tất cả các truy vấn sẽ được gửi đến nó. Không có gì cho những người khác trừ khi người đầu tiên xuống. Vì vậy, nếu máy chủ DNS đầu tiên trong danh sách xuất hiện và biết câu trả lời, anh ta trả lời "Tôi biết điều đó!", Nếu không anh ta sẽ nói "Tôi sợ tôi không biết ...". Và đó là tất cả. Bạn phải làm cho 192.168.1.5 (máy chủ DNS của trang web 2) biết tất cả các mục của trang web1 và ngược lại tất nhiên. Lời chào hỏi


0

Tôi đã không thử điều này trên Ubuntu, nhưng tôi đã có thể có được một thiết lập tương tự hoạt động trên Arch Linux bằng cách sử dụng openresolv và dnsmasq.

Tất cả các thay đổi sẽ có trên máy khách VPN. Máy chủ VPN không cần bất kỳ thay đổi nào vì nó đã bao gồm các tùy chọn tìm kiếm tên miền và máy chủ DNS.

  1. Trong khi kết nối với VPN, hãy sử dụng resolvconf -lđể xem tất cả các tệp độ phân giải. Chỉ ra tên độ phân giải của giao diện VPN của bạn (tức là X trong "decv.conf từ X"). Trong trường hợp của tôi, đó là tun0, cái mà tôi sẽ sử dụng trong cấu hình còn lại.
  2. Cài đặt dnsmasq
  3. Chỉnh sửa /etc/resolvconf.confđể thêm các tùy chọn này:

    private_interfaces=tun0
    name_servers="::1 127.0.0.1"
    dnsmasq_conf=/etc/dnsmasq-conf.conf
    dnsmasq_resolv=/etc/dnsmasq-resolv.conf
    
  4. Chỉnh sửa /etc/dnsmasq.confđể thêm các tùy chọn này:

    conf-file=/etc/dnsmasq-conf.conf
    resolv-file=/etc/dnsmasq-resolv.conf
    
  5. Chạy resolvconf -uđể tạo tập tin cấu hình dnsmasq.

  6. Bắt đầu dnsmasqdịch vụ và cấu hình nó để bắt đầu khởi động. Trên Arch, điều này được thực hiện bằng cách chạy:

    systemctl start dnsmasq.service
    systemctl enable dnsmasq.service
    

Các name_serverstùy chọn cho resolvconf vào danh sách chỉ những máy chủ tên trong /etc/resolv.conf(tức là nó trỏ vào dụ dnsmasq địa phương của bạn). Các dnsmasq_tùy chọn yêu cầu giải quyết để ghi các máy chủ tên đã đi vào /etc/resolv.conftập tin cấu hình dnsmasq.

Các private_interfacetùy chọn cho resolvconf rằng các máy chủ tên được cung cấp bởi giao diện (VPN) nên chỉ được sử dụng khi giải quyết hostname mà là một trong các lĩnh vực quy định trên searchđường. Nó sẽ tạo ra cấu hình dnsmasq thích hợp để thực hiện điều đó.

Với cấu hình này, các yêu cầu cho máy chủ lưu trữ trong trang web2.iternal.domain sẽ chuyển đến 192.168.1.5 và tất cả các yêu cầu khác sẽ chuyển đến 172.16.1.101 hoặc 172.16.1.102.

Nếu hệ thống của bạn không sử dụng IPv6, hãy xóa :: 1 khỏi name_serverstùy chọn.

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.