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.conf
tệ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