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


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Проблемы с DHCP: клиент не может получить адрес  (Прочитано 2726 раз)

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

Оффлайн BSB

  • Автор темы
  • Участник
  • *
  • Сообщений: 239
  • Сама Справедливость
    • Просмотр профиля
На шлюзе поднят dnsmasq, он дает подсети 192.168.0.0/24 на eth0 адреса из 192.168.1.0/24 на eth1. iptables настроен обычно, с той лишь фишкой, что клиентов на 80-м порту, ломящихся в интернет, перенаправляет на прокси-сервер шлюза:
*nat
:PREROUTING ACCEPT [66:8933]
:INPUT ACCEPT [66:8933]
:OUTPUT ACCEPT [14:1710]
:POSTROUTING ACCEPT [14:1710]
-A PREROUTING -s 192.168.0.0/24 ! -d 192.168.0.0/24 -i eth1 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
-A POSTROUTING -s 192.168.0.0/24 ! -d 192.168.0.0/24 -j MASQUERADE
COMMIT

*mangle
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A FORWARD -o eth0 -p tcp -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1300:1500 -j TCPMSS --clamp-mss-to-pmtu
-A OUTPUT -o eth0 -p tcp -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1300:1500 -j TCPMSS --clamp-mss-to-pmtu
COMMIT

*filter
:INPUT DROP [954:230773]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [763:211059]
-A INPUT -i lo -j ACCEPT
-A FORWARD -i lo -j ACCEPT
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A FORWARD -p icmp -j ACCEPT
-A INPUT -s 192.168.0.0/24 -i eth1 -j ACCEPT
-A FORWARD -s 192.168.0.0/24 -i eth1 -j ACCEPT
COMMIT
Конфиг dnsmasq:
interface=eth1
listen-address=192.168.0.1
bind-interfaces
domain=linux.lan
dhcp-range=192.168.0.2,192.168.0.254,255.255.255.0,24h
dhcp-option=3,192.168.0.1
После /etc/init.d/dnsmasq restart всё ОК:
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      3765/dnsmasq   
tcp        0      0 192.168.0.1:53          0.0.0.0:*               LISTEN      3765/dnsmasq   
tcp6       0      0 ::1:53                  :::*                    LISTEN      3765/dnsmasq   
udp        0      0 127.0.0.1:53            0.0.0.0:*                           3765/dnsmasq   
udp        0      0 192.168.0.1:53          0.0.0.0:*                           3765/dnsmasq   
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           1174/avahi-daemon:
udp6       0      0 ::1:53                  :::*                                3765/dnsmasq   
udp6       0      0 :::5353                 :::*                                1174/avahi-daemon:

Проблема - клиенты не получают адрес. Что может быть?

Пользователь решил продолжить мысль 18 Августа 2013, 17:47:13:
/etc/network/interfaces:
auto lo
iface lo inet loopback
     post-up iptables-restore </etc/iptables.conf
auto eth0
iface eth0 inet dhcp
auto eth1
iface eth1 inet static
     address 192.168.0.1
     netmask 255.255.255.0
« Последнее редактирование: 18 Августа 2013, 17:47:13 от BSB »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
У вас не разрешен трафик на eth1 из локальной сети.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн BSB

  • Автор темы
  • Участник
  • *
  • Сообщений: 239
  • Сама Справедливость
    • Просмотр профиля
У вас не разрешен трафик на eth1 из локальной сети.
А эти строки разве не решают этой задачи?:-A INPUT -s 192.168.0.0/24 -i eth1 -j ACCEPT
-A FORWARD -s 192.168.0.0/24 -i eth1 -j ACCEPT

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Нет. Они проверяют адрес, которого у машин ещё нет.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13761
    • Просмотр профиля
Внимание. Выделяю, на что обратить внимание
Проблема - клиенты не получают адрес. Что может быть?
-A INPUT -s 192.168.0.0/24 -i eth1 -j ACCEPT

Пользователь решил продолжить мысль 18 Августа 2013, 21:15:52:
AnrDaemon немного опередил )))

Оффлайн BSB

  • Автор темы
  • Участник
  • *
  • Сообщений: 239
  • Сама Справедливость
    • Просмотр профиля
так?
-A INPUT -i eth1 -p udp -s 0.0.0.0 --sport 68 -d 255.255.255.255 --dport 67 -j ACCEPT
-A OUTPUT -o eth1 -p udp -s 0.0.0.0 --sport 68 -d 255.255.255.255 --dport 67 -j ACCEPT
-A OUTPUT -o eth1 -p udp -s eth1 --sport 67 -d 255.255.255.255 --dport 68 -j ACCEPT
-A INPUT -i eth1 -p udp -s 0.0.0.0 --sport 68 -d eth1 --dport 67 -j ACCEPT
-A OUTPUT -o eth1 -p udp -s eth1 --sport 67 -d 192.168.0.0/24 --dport 68 -j ACCEPT
-A INPUT -i eth1 -p udp -s 192.168.0.0/24 --sport 68 -d eth1 --dport 67 -j ACCEPT

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Простите, а на[вц]...зачем так сложно?
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн BSB

  • Автор темы
  • Участник
  • *
  • Сообщений: 239
  • Сама Справедливость
    • Просмотр профиля
значит, так можно?
-A OUTPUT -p udp -m udp -o eth1 --dport 67 --sport 68 -j ACCEPT
-A INPUT -p udp -m udp -i eth1 --dport 68 --sport 67 -j ACCEPT

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Ну, да, ещё нужно разрешить приём DHCP-запросов без явного указания адреса источника.
В упрощённом виде:
-A INPUT -i eth1 -j ACCEPT

Оффлайн BSB

  • Автор темы
  • Участник
  • *
  • Сообщений: 239
  • Сама Справедливость
    • Просмотр профиля
Ну, да, ещё нужно разрешить приём DHCP-запросов без явного указания адреса источника.
В упрощённом виде:
-A INPUT -i eth1 -j ACCEPT
вот это не понял.
Сюда же и любые другие пакеты попадают, не?

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Проблемы с DHCP: клиент не может получить адрес
« Ответ #10 : 18 Августа 2013, 22:16:58 »
Сюда же и любые другие пакеты попадают, не?
Потому и говорю, что в упрощённом виде.
Просто обычно с этим почти никто не заморачивается, потому что трафик из локалки считается доверенным.
Впрочем, в таком виде, по идее тоже должно работать:
-A OUTPUT -p udp -m udp -o eth1 --dport 67 --sport 68 -j ACCEPT
-A INPUT -p udp -m udp -i eth1 --dport 68 --sport 67 -j ACCEPT

Оффлайн BSB

  • Автор темы
  • Участник
  • *
  • Сообщений: 239
  • Сама Справедливость
    • Просмотр профиля
Re: Проблемы с DHCP: клиент не может получить адрес
« Ответ #11 : 18 Августа 2013, 22:18:40 »
Сюда же и любые другие пакеты попадают, не?
Потому и говорю, что в упрощённом виде.
Просто обычно с этим почти никто не заморачивается, потому что трафик из локалки считается доверенным.
у меня в локалке еще и wifi-роутер торчит, так что вроде и доверенный, а вроде бы и нет :)
Правильно ли я понял, что для этого можно заменить
-A INPUT -p udp -m udp -i eth1 --dport 68 --sport 67 -j ACCEPTна
-A INPUT -p udp -m udp -i eth1 --dport 68 -j ACCEPT?

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Проблемы с DHCP: клиент не может получить адрес
« Ответ #12 : 18 Августа 2013, 22:29:25 »
BSB, удаление каких-то условий из работающего правила сохраняет его работоспособность.
Просто спектр действия становится шире.

Оффлайн BSB

  • Автор темы
  • Участник
  • *
  • Сообщений: 239
  • Сама Справедливость
    • Просмотр профиля
Re: Проблемы с DHCP: клиент не может получить адрес
« Ответ #13 : 18 Августа 2013, 22:34:17 »
Итого получается:
*nat
:PREROUTING ACCEPT [66:8933]
:INPUT ACCEPT [66:8933]
:OUTPUT ACCEPT [14:1710]
:POSTROUTING ACCEPT [14:1710]
-A PREROUTING -s 192.168.0.0/24 ! -d 192.168.0.0/24 -i eth1 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
-A POSTROUTING -s 192.168.0.0/24 ! -d 192.168.0.0/24 -j MASQUERADE
COMMIT

*mangle
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A FORWARD -o eth0 -p tcp -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1300:1500 -j TCPMSS --clamp-mss-to-pmtu
-A OUTPUT -o eth0 -p tcp -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1300:1500 -j TCPMSS --clamp-mss-to-pmtu
COMMIT

*filter
:INPUT DROP [954:230773]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [763:211059]
-A INPUT -i lo -j ACCEPT
-A FORWARD -i lo -j ACCEPT
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A FORWARD -p icmp -j ACCEPT
-A INPUT -s 192.168.0.0/24 -i eth1 -j ACCEPT
-A FORWARD -s 192.168.0.0/24 -i eth1 -j ACCEPT
-A INPUT -p udp -m udp -i eth1 --dport 68 -j ACCEPT
-A OUTPUT -p udp -m udp -o eth1 --dport 67 --sport 68 -j ACCEPT
COMMIT
Может еще что-нибудь забыл? Потому что так не работает :(

Пользователь решил продолжить мысль 18 Августа 2013, 22:58:03:
еще вот тут наводящий вопрос:
-A INPUT -s 192.168.0.0/24 -i eth1 -j ACCEPT
-A FORWARD -s 192.168.0.0/24 -i eth1 -j ACCEPT
эти правила пропускают все UDP и TCP, работающие стандартно, правильно я понимаю? Другими словами, DHCP - единственный протокол, который ответ шлет другим портом? (и форвардинг в его случае не обязателен?)
« Последнее редактирование: 18 Августа 2013, 22:58:34 от BSB »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: Проблемы с DHCP: клиент не может получить адрес
« Ответ #14 : 18 Августа 2013, 23:13:34 »

еще вот тут наводящий вопрос:
-A INPUT -s 192.168.0.0/24 -i eth1 -j ACCEPT
-A FORWARD -s 192.168.0.0/24 -i eth1 -j ACCEPT
эти правила пропускают все UDP и TCP
Где в этом правиле вы видите упоминание UDP или TCP? Очевидный ответ - нет, к протоколам IP стека это правило никакого отношения не имеет.

И, (внимание, сюрприз!) DHCP работает по UDP.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

 

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