33 lines
884 B
Bash
Executable File
33 lines
884 B
Bash
Executable File
#!/bin/bash
|
|
source ./00_env.sh
|
|
set -euo pipefail
|
|
|
|
if [[ $EUID -ne 0 ]]; then echo "请用 root/sudo 运行"; exit 1; fi
|
|
|
|
apt update
|
|
apt install -y dnsmasq ipset curl || true
|
|
|
|
cat >/etc/dnsmasq.d/lan.conf <<EOL
|
|
interface=$LAN_IF
|
|
bind-interfaces
|
|
dhcp-range=192.168.2.100,192.168.2.200,12h
|
|
dhcp-option=3,$LAN_GW
|
|
dhcp-option=6,$LAN_GW
|
|
server=$FOREIGN_DNS1
|
|
server=$FOREIGN_DNS2
|
|
EOL
|
|
|
|
curl -fsSL "$DNSMASQ_CHINA_URL" -o /tmp/accelerated.domains || true
|
|
echo "# Auto-generated China domains" > "$DNSMASQ_CHINA_FILE"
|
|
while IFS= read -r domain; do
|
|
[[ -z "$domain" || "$domain" =~ ^# ]] && continue
|
|
d=$(echo "$domain" | awk '{print $1}')
|
|
echo "server=/$d/$CHINA_DNS1" >> "$DNSMASQ_CHINA_FILE"
|
|
echo "server=/$d/$CHINA_DNS2" >> "$DNSMASQ_CHINA_FILE"
|
|
done < /tmp/accelerated.domains
|
|
|
|
systemctl restart dnsmasq || true
|
|
systemctl enable dnsmasq || true
|
|
|
|
echo "DHCP + 国内 DNS 配置完成"
|