Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Tak wygląda standardowe zapytanie kierowanie pod server dhcp w mojej sieci na domyślnych ustawieniach kernela:
1 próba:
May 7 15:51:15 morfikownia dhclient: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 5 May 7 15:51:20 morfikownia dhclient: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 13 May 7 15:51:20 morfikownia dhclient: DHCPREQUEST on eth0 to 255.255.255.255 port 67 May 7 15:51:20 morfikownia dhclient: DHCPOFFER from 192.168.22.22 May 7 15:51:20 morfikownia dhclient: DHCPNAK from 192.168.22.22 May 7 15:51:20 morfikownia dhclient: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 6 May 7 15:51:26 morfikownia dhclient: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 9 May 7 15:51:35 morfikownia dhclient: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 14 May 7 15:51:49 morfikownia dhclient: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 19 May 7 15:52:08 morfikownia dhclient: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 13 May 7 15:52:21 morfikownia dhclient: No DHCPOFFERS received. May 7 15:52:21 morfikownia dhclient: No working leases in persistent database - sleeping.
i druga próba:
May 7 15:52:34 morfikownia dhclient: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 6 May 7 15:52:40 morfikownia dhclient: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 10 May 7 15:52:50 morfikownia dhclient: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 12 May 7 15:53:02 morfikownia dhclient: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 14 May 7 15:53:16 morfikownia dhclient: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 15 May 7 15:53:31 morfikownia dhclient: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 4 May 7 15:53:32 morfikownia dhclient: DHCPREQUEST on eth0 to 255.255.255.255 port 67 May 7 15:53:32 morfikownia dhclient: DHCPOFFER from 192.168.22.22 May 7 15:53:32 morfikownia dhclient: DHCPACK from 192.168.22.22 May 7 15:53:32 morfikownia dhclient: bound to 10.1.4.41 -- renewal in 49 seconds.
Po drugiej próbie jak widać adres został uzyskany. Jednak po ustawieniu poniższych opcji w kernelu:
for i in /proc/sys/net/ipv4/conf/* do /bin/echo "1" > $i/rp_filter done for i in /proc/sys/net/ipv4/conf/* do /bin/echo "1" > $i/log_martians done
uzyskanie ip z servera dhcp staje się nie możliwe. Ten rp_filter ma niby odpowiadać za poprawę bezpieczeństwa utrudniając spoofowanie ip, odrzucając pakiety z adresów, które nie należą do danej sieci, z kolei log_martians odpowiada za logowanie tego typu pakietów. I tak po aktywowaniu filtrowania trasy powrotnej, po wydaniu polecenia dhclient eth0, w logu mam poniższe komunikaty:
May 7 15:48:09 morfikownia dhclient: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 3 May 7 15:48:12 morfikownia dhclient: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 5 May 7 15:48:12 morfikownia dhclient: DHCPREQUEST on eth0 to 255.255.255.255 port 67 May 7 15:48:12 morfikownia dhclient: DHCPOFFER from 192.168.22.22 May 7 15:48:12 morfikownia dhclient: DHCPNAK from 192.168.22.22 May 7 15:48:12 morfikownia kernel: [ 2799.859011] IPv4: martian destination 0.0.0.0 from 192.168.22.22, dev eth0 May 7 15:48:12 morfikownia dhclient: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 6 May 7 15:48:18 morfikownia dhclient: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 7 May 7 15:48:18 morfikownia kernel: [ 2806.413623] IPv4: martian source 255.255.255.255 from 192.168.22.22, on dev eth0 May 7 15:48:18 morfikownia kernel: [ 2806.413631] ll header: 00000000: ff ff ff ff ff ff 00 17 10 03 14 51 08 00 ...........Q.. May 7 15:48:25 morfikownia dhclient: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 15 May 7 15:48:30 morfikownia kernel: [ 2817.900867] IPv4: martian source 255.255.255.255 from 192.168.22.22, on dev eth0 May 7 15:48:30 morfikownia kernel: [ 2817.900875] ll header: 00000000: ff ff ff ff ff ff 00 17 10 03 14 51 08 00 ...........Q..
I nie idzie w ogóle uzyskać adresu przez dhcp. W tablicy arp mam tylko adres od bramy, choć to w sumie logiczne skoro mam sieć 10.1.0.0/16 a server dhcp jest pod 192.168.22.22
Czy to normalne, że się uzyskuje adres dla sieci 10.1.0.0/16 z adresu 192.168.x.x ? xD Generalnie nie zauważyłem żadnych problemów z działaniem sieci po ustawieniu tego fitrowania, tylko dopiero teraz jak chciałem pobrać adres przez dhcp -- czasem sprawdzam czy coś się zmienia, bo tak normlanie mam wdrukowane statyczne ustawienia via /etc/network/interfaces .
Ostatnio edytowany przez morfik (2014-05-07 20:17:46)
Offline
Normalne to może i jest, ale sieć jest taka, że firewall głupieje.
Jeżeli sieć bazuje na adresach 10.0.0/8 klasa A, - to jest sieć prywatna z milionami adresów, to ja nie czaję, dlaczego w tej sieci DHCP odpowiada z adresu 192.168.xxx.xxx, moim zdaniem nie ma to sensu.
Ale to już sprawa twojego ISP.
W adresacji 10.0.0/8 jest tylko 16777214 adresów IP do dyspozycji, więc pewnie trochę mało, biorąc pod uwagę, ze jeden pacjent = 1 adres.
Pod warunkiem że mieszkasz w Chinach, bo u nas starczyło by adresów
na dwa największe województwa. :D
Ostatnio edytowany przez Jacekalex (2014-05-07 18:11:46)
Offline
Time (s) | Query |
---|---|
0.00019 | SET CHARSET latin2 |
0.00173 | SET NAMES latin2 |
0.00179 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.145.167.58' WHERE u.id=1 |
0.01110 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.145.167.58', 1732826896) |
0.00100 | SELECT * FROM punbb_online WHERE logged<1732826596 |
0.00140 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=25768 AND t.moved_to IS NULL |
0.00008 | SELECT search_for, replace_with FROM punbb_censoring |
0.00224 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=25768 ORDER BY p.id LIMIT 0,25 |
0.00098 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=25768 |
Total query time: 0.02051 s |