21-ый век, компьютеры в каждой юрте, интернет уже вот вот должен стать беспроводным, но линукс... линукс хочет чтобы всякий пользователь читал маны, умел пользоваться вимом и править скрипты.
итак, я хочу интернет. у меня для этого есть раздавалка интернета (dnsmasq) и читалка интернета (dhclient).
говорю я ему «sudo dhclient wlan0», происходит какое-то чудо и интернет появляется, минут на 5. потом он исчезает. sudo !! решает проблему на те же 5 минут.
хорошо, идем читать маны, здоровее будем и глазы наши красны... находим совершенно замечательный ман про dhclient, в котором есть отсылка к dhclient.conf, в котором пишут многое, непонятное и непомогающее. менять параметры пробовал (например require), не помогает.
пошел посмотреть чего же там в логах.
в логах сервера, когда все ломается:
Nov 2 01:04:39 dnsmasq-dhcp[9797]: 3968742939 available DHCP range: 192.168.12.10 -- 192.168.12.150
Nov 2 01:04:39 dnsmasq-dhcp[9797]: 3968742939 client provides name: laptop.cattusn.ru
Nov 2 01:04:39 dnsmasq-dhcp[9797]: 3968742939 DHCPDISCOVER(wlan1) 00:21:63:83:79:13
Nov 2 01:04:39 dnsmasq-dhcp[9797]: 3968742939 tags: wlan1
Nov 2 01:04:39 dnsmasq-dhcp[9797]: 3968742939 DHCPOFFER(wlan1) 192.168.12.10 00:21:63:83:79:13
Nov 2 01:04:39 dnsmasq-dhcp[9797]: 3968742939 requested options: 1:netmask, 28:broadcast, 2:time-offset, 3:router,
Nov 2 01:04:39 dnsmasq-dhcp[9797]: 3968742939 requested options: 15:domain-name, 6:dns-server, 119:domain-search,
Nov 2 01:04:39 dnsmasq-dhcp[9797]: 3968742939 requested options: 12:hostname, 44:netbios-ns, 47:netbios-scope,
Nov 2 01:04:39 dnsmasq-dhcp[9797]: 3968742939 requested options: 26:mtu, 121:classless-static-route, 42:ntp-server
Nov 2 01:04:39 dnsmasq-dhcp[9797]: 3968742939 next server: 192.168.12.1
Nov 2 01:04:39 dnsmasq-dhcp[9797]: 3968742939 sent size: 1 option: 53 message-type 2
Nov 2 01:04:39 dnsmasq-dhcp[9797]: 3968742939 sent size: 4 option: 54 server-identifier 192.168.12.1
Nov 2 01:04:39 dnsmasq-dhcp[9797]: 3968742939 sent size: 4 option: 51 lease-time 12h
Nov 2 01:04:39 dnsmasq-dhcp[9797]: 3968742939 sent size: 4 option: 58 T1 6h
Nov 2 01:04:39 dnsmasq-dhcp[9797]: 3968742939 sent size: 4 option: 59 T2 10h30m
Nov 2 01:04:39 dnsmasq-dhcp[9797]: 3968742939 sent size: 4 option: 1 netmask 255.255.255.0
Nov 2 01:04:39 dnsmasq-dhcp[9797]: 3968742939 sent size: 4 option: 28 broadcast 192.168.12.255
Nov 2 01:04:39 dnsmasq-dhcp[9797]: 3968742939 sent size: 4 option: 6 dns-server 192.168.12.1
Nov 2 01:04:39 dnsmasq-dhcp[9797]: 3968742939 sent size: 10 option: 15 domain-name smolex.com
Nov 2 01:04:39 dnsmasq-dhcp[9797]: 3968742939 sent size: 4 option: 3 router 192.168.12.1
в логах клиента, тоже при поломке
Nov 1 07:30:42 laptop dhclient: DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 3
Nov 1 07:30:45 laptop dhclient: DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 3
Nov 1 07:30:48 laptop dhclient: DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 6
Nov 1 07:30:54 laptop dhclient: DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 9
Nov 1 07:31:03 laptop dhclient: DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 13
Nov 1 07:31:16 laptop dhclient: DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 21
Nov 1 07:31:37 laptop dhclient: DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 6
Nov 1 07:31:43 laptop dhclient: No DHCPOFFERS received.
Nov 1 07:31:43 laptop dhclient: No working leases in persistent database - sleeping.
если немного поковырять хук /etc/dhcp/dhclient-enter-hooks.d/resolvconf
то можно получить еще и такой лог:
reason PREINIT
new_domain_name
new_domain_name_servers
reason REBOOT
new_domain_name smolex.com
new_domain_name_servers 192.168.12.1
reason FAIL
new_domain_name
new_domain_name_servers
вопрос: почему dhclient видит мой сервант с первого раза, но дальше связь между ними теряется? как его убедить таки обновлять адресок по время T1 (или T2?)?
сейчас проблему решил обычным линуксовым методом: костылем. убрал обработку FAIL из скрипта. но хочется-то чтоб как у нормальных людей было.