wiki:technical:proxmox:dnsmasq
Это старая версия документа!
Содержание
Установка и настройка dnsmasq для proxmox
Настройки в веб-морде
Создаем два интерфейса - vmbr0 - смотрит наружу, vmbr1 - смотрит в локалку.
# Установка dnsmasq apt install -y dnsmasq # Создаем конфиг для dnsmasq для интефейса vmbr1: echo " # dnsmasq dhcp-range=set:10subnet, 10.3.0.2, 10.3.0.50, 255.255.255.0, 10m dhcp-option=tag:10subnet, option:netmask, 255.255.255.0 dhcp-option=tag:10subnet, option:router, 10.3.0.1 dhcp-option=tag:10subnet, option:dns-server, 10.3.0.1 dhcp-option=tag:10subnet, option:ntp-server, 10.3.0.1 # listen iface interface=vmbr1 # DNS server=8.8.8.8 server=8.8.4.4 server=208.67.222.222 server=208.67.220.220 all-servers " > /etc/dnsmasq.d/10xxx.conf # # Стартуем сервис dnsmasq # service dnsmasq restart # # Включаем сервис при старте хостовой системы # systemctl enable dnsmasq
Эксплуатация dnsmasq
# Создаем в веб-морде Proxmox интерфейс vbmr0 с IP 10.3.0.1/24. # Теперь включаем NAT: echo 1 > /proc/sys/net/ipv4/ip_forward sed -i s/'^#net.ipv4.ip_forward=1'/'net.ipv4.ip_forward=1'/g /etc/sysctl.conf # sysctl -p iptables -t nat -A POSTROUTING -o vmbr0 -j MASQUERADE # Ваши виртуалки смогут выходить в интернет из-за NAT
Проброс портов в виртуалку
# Проброс портов в виртуалку # SSH iptables -t nat -A PREROUTING -p tcp --dport 32022 -j DNAT --to-destination $LOCAL_IP:22 # MySQL iptables -t nat -A PREROUTING -p tcp --dport 3306 -j DNAT --to-destination $LOCAL_IP:3306 # и т.д...
Загрузка из сети
# # добавляем опции в конфиг dnsmasq # dhcp-option-force=66, 10.3.0.1 # ip сервера tftpd dhcp-option-force=67,gpxelinux.0 # загрузчик
# # # apt-get install tftpd-hpa # # Файл конфигурации tftpd tee /etc/default/tftpd-hpa << EOF # tftpd TFTP_USERNAME="tftp" TFTP_DIRECTORY="/usr/local/tftpboot" TFTP_ADDRESS="0.0.0.0:69" TFTP_OPTIONS="--secure --create" EOF
rfc3442
Внезапно выяснилось, что можно пробрасывать маршруты при dnsmasq, работающем в OVH и раздающим IP адреса с маской 255.255.255.255 через rfc3442. Особенность такого конфига является то, что маршрут на шлюз, лежащий в сети /32 необходимо отправлять в виде двух частей.
# # Подсеть dhcp-range=5.40.13.252,5.40.13.255,2m # Через шлюз 188.165.209.254 # route add -host 188.165.209.254 via eth0 ip r a default gw 188.165.209.254
https://github.com/oldengremlin/route-4-dhcp/blob/master/rfc3442.route-4-dhcp.pl
wiki/technical/proxmox/dnsmasq.1743713045.txt.gz · Последнее изменение: 2025/04/03 23:44 — Diman