Cấu hình thủ công máy chủ DNS - raspbian


2

Tôi đã viết một tập lệnh đơn giản để cho phép người dùng tự cấu hình địa chỉ IP và máy chủ DNS của họ. Các máy chủ DNS được thay đổi bằng cách tạo một /etc/resolv.conftệp mới với các dòng người dùng đã nhập, ví dụ: tệp có thể trông giống như:

nameserver 12.34.56.78
nameserver 12.34.56.79

tuy nhiên sau khi khởi động lại, những thay đổi này dường như không hoạt động và sử dụng DNS không thành công.

Tôi vẫn có thể ping địa chỉ IP nhưng cố gắng ping trang web không thành công.

Dưới đây là kịch bản hoàn chỉnh, hãy cho biết bạn nghĩ vấn đề có thể là gì.

#!/bin/bash

# wipes any corrent set up
> /etc/network/interfaces

echo "Automatic DHCP or Manual?,(D/M) followed by [ENTER]:"
read network

if [ $network == "D" ]; then
    echo "auto lo" >> /etc/network/interfaces

    echo "iface lo inet loopback" >> /etc/network/interfaces
    echo "iface eth0 inet dhcp" >> /etc/network/interfaces
    echo "iface default inet dhcp" >> /etc/network/interfaces
    echo "Network set up!"
    exit 0
fi

if [ $network == "M" ]; then
    echo "Enter IP address (e.g 192.168.0.7), followed by [ENTER]:"
    read address
    echo "Enter Netmask (e.g 255.255.255.0, followed by [ENTER]:"
    read mask
    echo "Enter router IP (e.g 192.168.0.1), followed by [ENTER]:"
    read router
    echo "Enter first DNS server (e.g 8.8.8.8), followed by [ENTER]:"
    read dns1
    echo "Enter second DNS server (e.g 8.8.8.8), followed by [ENTER]:"
    read dns2

    echo "auto lo" >> /etc/network/interfaces
    echo "iface lo inet loopback" >> /etc/network/interfaces

    echo "iface eth0 inet static" >> /etc/network/interfaces
    echo "  address $address" >> /etc/network/interfaces    
    echo "  netmask $mask" >> /etc/network/interfaces
    echo "  gateway $router" >> /etc/network/interfaces

    echo "iface default inet dhcp" >> /etc/network/interfaces

    > /etc/resolv.conf
    echo "nameserver $dns1" >> /etc/resolv.conf
    echo "nameserver $dns2" >> /etc/resolv.conf

    echo "Network set up!"
    exit 0

fi

echo "ERROR: you do not enter D or M";
exit 0

Kịch bản dựa trên thông tin về cấu hình thủ công được tìm thấy tại đây http://wiki.debian.org/NetworkConfiguration

Khi DHCP tự động được sử dụng, /etc/resolv.conf chứa:

domain zyxel.com
search zyxel.com
nameserver 192.168.1.1

Bạn đã cài đặt trình quản lý mạng, errh, trình quản lý chưa?
tink

Người dùng @tink sẽ có quyền truy cập rất hạn chế vào hệ thống nên người quản lý mạng sẽ không tốt nhất
Zac Powell

Tôi đánh giá cao điều đó, đó là lý do tại sao tôi hỏi :) Nó chỉ thường xuyên can thiệp vào các nỗ lực để tự cấu hình mọi thứ.
tink

Ok vì vậy bạn nghĩ rằng kịch bản 'nên' hoạt động, nhưng một cái gì đó có thể can thiệp vào hướng dẫn được thiết lập? Raspbian được sử dụng là khá chuẩn nên có thể bao gồm một người quản lý mạng Tôi chỉ không sử dụng nó
Zac Powell

Lưu ý rằng raspberrypi.stackexchange.comunix.stackexchange.com có thể giúp bạn tìm câu trả lời cụ thể hơn
Tobias Kienzler

Câu trả lời:


0

Gói độ phân giải mặc định tạo /etc/resolv.confthành một liên kết tượng trưng. Nếu bạn xóa symlink và tạo một độ phân giải mới, nó sẽ dính sau khi khởi động lại. Bạn rất thân với > /etc/resolv.confdòng này, nhưng dường như điều đó không ghi đè lên symlink. Tôi sẽ đề nghị trước tiên xóa symlink cũ bằng rm /etc/resolv.conf(hoặc tốt hơn, sao lưu nó với mv /etc/resolv.conf /etc/resolv.conf.bak) ngay trước dòng đó.


Không có may mắn vẫn không hoạt động như trước khi địa chỉ IP hoạt động nên tôi đã kết nối nhưng máy chủ DNS không được sử dụng
Zac Powell
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.