Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: dnsmasq и dhcp  (Прочитано 3715 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн sayunot

  • Автор темы
  • Новичок
  • *
  • Сообщений: 5
  • исследователь жизни
    • Просмотр профиля
dnsmasq и dhcp
« : 11 Сентября 2012, 21:04:46 »
ребят, подсобите: никак не могу заставить dnsmasq выдавать ip и иже с ним.
настройки сети:
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

auto eth1
iface eth1 inet static
address 172.17.0.1
netmask 255.255.255.0
post-up /etc/fw

iptables:
#!/bin/bash

Wan=eth0
Lan=eth1
Ip_Lan="`ip addr show $Lan | grep 'inet ' | awk '{print $2}'`"

iptables -F
iptables -t nat -F
iptables -t mangle -F

iptables -X
iptables -t nat -X
iptables -t mangle -X

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

iptables -F INPUT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -s $Ip_Lan -i $Lan -j ACCEPT
iptables -A INPUT -p gre -s 78.29.3.0/24 -i $Wan -j ACCEPT
iptables -A INPUT -p tcp -m tcp -s 78.29.3.0/24 --dport 1723 -i $Wan -j ACCEPT
iptables -A INPUT -p udp -m udp -s 78.29.2.21 --dport 53 -i $Wan -j ACCEPT
iptables -A INPUT -p udp -m udp -s 78.29.2.22 --dport 53 -i $Wan -j ACCEPT
iptables -A INPUT -p icmp -m icmp --icmp-type 0 -j ACCEPT
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

iptables -F FORWARD
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate NEW -i $Lan -s $Ip_Lan -j ACCEPT

iptables -t nat -F POSTROUTING
iptables -t nat -A POSTROUTING -s $Ip_Lan ! -d $Ip_Lan -o $Wan -j MASQUERADE
iptables -t nat -A POSTROUTING -s $Ip_Lan ! -d $Ip_Lan -o ppp+ -j MASQUERADE

iptables -t mangle -A FORWARD -p 6 -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

dnsmasq:
log-facility=/var/log/dnsmasq.log
log-dhcp

domain-needed
bogus-priv

interface=eth1
listen-address=172.17.0.1
no-dhcp-interface=lo
no-dhcp-interface=eth0
bind-interfaces

localise-queries
stop-dns-rebind
rebind-localhost-ok
clear-on-reload

no-resolv
no-poll
no-negcache

cache-size=300
local-ttl=7200
neg-ttl=14400
max-ttl=86400

server=78.29.2.21#53
server=78.29.2.22#53

dhcp-authoritative
dhcp-leasefile=/var/lib/dnsmasq.leases
dhcp-lease-max=256
dhcp-ignore=tag:!known
dhcp-range=172.17.0.2,172.17.0.254,24h
dhcp-option=1,255.255.255.0
dhcp-option=3,172.17.0.1

чяднт? ???

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13761
    • Просмотр профиля
Re: dnsmasq и dhcp
« Ответ #1 : 11 Сентября 2012, 21:16:52 »
Я Вам предложу посмотреть результирующие правила, которые создаются с использованием переменной $Ip_Lan и Вы поймёте в чём проблема.

А вообще, лучше показывайте какие правила получаете, а не какими командами создаёте. Всё-таки мы здесь не онлайн интерпретаторы

Оффлайн sayunot

  • Автор темы
  • Новичок
  • *
  • Сообщений: 5
  • исследователь жизни
    • Просмотр профиля
Re: dnsmasq и dhcp
« Ответ #2 : 11 Сентября 2012, 21:22:05 »
iptables -L -v
Chain INPUT (policy DROP 7403 packets, 1212K bytes)
 pkts bytes target     prot opt in     out     source               destination         
   13  1097 ACCEPT     all  --  lo     any     anywhere             anywhere           
 1194 88385 ACCEPT     all  --  eth1   any     172.17.0.0/24        anywhere           
31548   13M ACCEPT     gre  --  eth0   any     78.29.3.0/24         anywhere           
    0     0 ACCEPT     tcp  --  eth0   any     78.29.3.0/24         anywhere             tcp dpt:1723
    0     0 ACCEPT     udp  --  eth0   any     hn-ns1.is74.ru       anywhere             udp dpt:domain
    0     0 ACCEPT     udp  --  eth0   any     hn-ns2.is74.ru       anywhere             udp dpt:domain
    0     0 ACCEPT     icmp --  any    any     anywhere             anywhere             icmp echo-reply
  756 85831 ACCEPT     all  --  any    any     anywhere             anywhere             ctstate RELATED,ESTABLISHED

Chain FORWARD (policy DROP 164 packets, 8528 bytes)
 pkts bytes target     prot opt in     out     source               destination         
22458   12M ACCEPT     all  --  any    any     anywhere             anywhere             ctstate RELATED,ESTABLISHED
 1153 69180 ACCEPT     all  --  eth1   any     172.17.0.0/24        anywhere             ctstate NEW

Chain OUTPUT (policy ACCEPT 18444 packets, 2438K bytes)
 pkts bytes target     prot opt in     out     source               destination 

вроде бы для eth1 на вход от 172.17.0.0/24 стоит...или в том и проблема, что от 172.17.0.0/24, а при запросе комп из lan еще ни разу к 172.17.0.0/24 отношения не имеет?

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13761
    • Просмотр профиля
Re: dnsmasq и dhcp
« Ответ #3 : 11 Сентября 2012, 21:35:52 »
Гхм... и действительно iptables выправляет сеть

iptables показывайте с параметром -n
А ещё лучше используйте iptables-save

А что в логе /var/log/dnsmasq.log? Сам демон-то работает?

Оффлайн sayunot

  • Автор темы
  • Новичок
  • *
  • Сообщений: 5
  • исследователь жизни
    • Просмотр профиля
Re: dnsmasq и dhcp
« Ответ #4 : 11 Сентября 2012, 21:48:57 »
работает вроде бы. по крайней мере в init.d присутствует и в логи спамит.
ls /etc/init.d | grep dnsmasq:
ls /etc/init.d | grep dnsmasq:
dnsmasq

логи:
Sep 11 23:32:27 dnsmasq[884]: started, version 2.59 cachesize 300
Sep 11 23:32:27 dnsmasq[884]: compile time options: IPv6 GNU-getopt DBus i18n DHCP TFTP conntrack IDN
Sep 11 23:32:27 dnsmasq[884]: warning: ignoring resolv-file flag because no-resolv is set
Sep 11 23:32:27 dnsmasq-dhcp[884]: DHCP, IP range 172.17.0.2 -- 172.17.0.254, lease time 1d
Sep 11 23:32:27 dnsmasq[884]: using nameserver 78.29.2.22#53
Sep 11 23:32:27 dnsmasq[884]: using nameserver 78.29.2.21#53
Sep 11 23:32:27 dnsmasq[884]: read /etc/hosts - 7 addresses
Sep 11 23:33:44 dnsmasq-dhcp[884]: 4264977416 available DHCP range: 172.17.0.2 -- 172.17.0.254
Sep 11 23:33:44 dnsmasq-dhcp[884]: 4264977416 client provides name: sayunot
Sep 11 23:33:44 dnsmasq-dhcp[884]: 4264977416 DHCPDISCOVER(eth1) 1c:6f:65:3d:ff:9c ignored

upd.

проблема решена, сам затупил :(

в iptables добавил следующие правила:
iptables -A INPUT -p tcp -m tcp --dport 53 -i $Lan -j ACCEPT
iptables -A INPUT -p udp -m udp --dport 53 -i $Lan -j ACCEPT
iptables -A INPUT -p udp -m udp --dport 67 -i $Lan -j ACCEPT

из настроек dnsmasq убрал:
dhcp-ignore=tag:!known
работает :)
« Последнее редактирование: 11 Сентября 2012, 22:04:14 от sayunot »

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13761
    • Просмотр профиля
Re: dnsmasq и dhcp
« Ответ #5 : 11 Сентября 2012, 22:06:38 »
По логам видно, что он всё-таки работает, но игнорит одну из машин
Посмотрите что творится в /var/lib/dnsmasq.leases

и ещё попробовать отключить, хотя бы временно, dhcp-ignore=tag:!known

Оффлайн sayunot

  • Автор темы
  • Новичок
  • *
  • Сообщений: 5
  • исследователь жизни
    • Просмотр профиля
Re: dnsmasq и dhcp
« Ответ #6 : 11 Сентября 2012, 22:28:23 »
в dnsmasq.leases теперь все хорошо:
1347474283 1c:6f:65:3d:ff:9c 172.17.0.10 sayunot *
проблема была в закрытом udp 67 и в dhcp-ignore=tag:!known.

спасибо за участие :)

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13761
    • Просмотр профиля
Re: dnsmasq и dhcp
« Ответ #7 : 11 Сентября 2012, 22:36:35 »
Да, смешно....
Правило
iptables -A INPUT -s $Ip_Lan -i $Lan -j ACCEPTне пропускает dhcp-запросы, так как source-адрес не соответсвует условию, так как его просто у хоста пока нет. Правда непонятно, почему в логах игнор засвечивался.

Полезно...

 

Страница сгенерирована за 0.608 секунд. Запросов: 25.