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/.
Strony: 1
Witam,
poszukuję jakiegoś rozwiązania do sytuacji w której firewall i dhcp obsługuje kilka podsieci.
Niestety jeśli użytkownik wpisze sobie adres statycznie np 192.168.2.15 to i bramkę to łączy się z siecią. Jak mogę tego zabronić???
Z gry dziękuję za pomoc
Offline
Na początek proponuje zapoznać się z
[url]http://dug.net.pl/tekst/31/udostepnienie_polaczenia_internetowego_(masq)/[/url]
Ostatnio edytowany przez azhag (2009-10-15 11:28:45)
Offline
Przypisać adres MAC do danego adresu IP.
Offline
Niestety link podany przez matke przelozona nie działa.
Co do drugiej odpowiedzi już tak zrobiłem ale niestety musiałem ustawić maskę na większą ilość kompów.
Offline
[quote=karat611]Niestety link podany przez matke przelozona nie działa.[/quote]
Automatyczny parser źle przerobił link, już działa.
Offline
iptables i piszemy regoły
Ostatnio edytowany przez blinki (2009-10-17 15:31:08)
Offline
Coś mi się wydaje, że koledze chodziło o włączenie NATa dla komputerów które otrzymają adres z serwera DHCP a te które mają wpisane statycznie nie będą miały wyjścia na świat.
Podpinam się pod ten temat :) Czy na uzyskanie powyższego efektu pozwoli jakaś (jaka?) opcja z serwera dhcp?
Pomijam rozwiązanie typu parser logów :)
Offline
Chciałbym odświeżyć temat.
Czy ktoś już zrobił natowanie dopiero po podaniu adresu z dhcp?
Offline
Ja to robię w następujący sposób:
iptables -t nat -A POSTROUTING -s 10.0.0.220/32 -j MASQUERADE iptables -A FORWARD -s 10.0.0.220/32 -m mac --mac-source 00:12:XX:XX:XX:XX -j ACCEPT iptables -t nat -A POSTROUTING -s 10.0.0.230/32 -j MASQUERADE iptables -A FORWARD -s 10.0.0.230/32 -m mac --mac-source 6C:F0:XX:XX:XX:XX -j ACCEPT
Każdemu adresowi przyporządkowuję mac adres.
Offline
Raczej nie da się tego osiągnąć na linuksowych dhcpd i iptables. Natomiast jeśli bardzo Ci na tym zależy, możesz zainsteresować się OpenBSD. Tamtejsza implementacja dhcpd, posiada opcję -L, która umożwilia zapisywanie każdej dzierżawy (oraz jej wygaśnieścia) do tabeli w PF. Wówczas bardzo łatwo można przeprowadzić takie filtrowanie. Fragment z manuala:
-L leased_ip_table When an address is leased dhcpd will insert it into the pf(4) table named leased_ip_table. Addresses are removed from the table when the lease expires. Combined with the table of abandoned addresses, this can help enforce a requirement to use DHCP on a network, or can place DHCP users in a different class of service. Users are cautioned against placing much trust in Ethernet or IP addresses; ifconfig(8) can be used to trivially change the interface's address, and on a busy DHCP network, IP addresses will likely be quickly recycled.
Ostatnio edytowany przez jurgensen (2013-07-23 09:22:17)
Offline
Da się.
Jeśli ktoś ustawi w dhcp dla każdego hosta odpowiedni Ip przypisany do mac, to można zrobić do tego tablicę ipseta
np:
ipset create leasses bitmap:ip,mac range 192.168.0.0/16 ipset add leasses 192.168.1.1,12:34:56:78:9A:BC
Jeśli natomiast adresy nie są przypisane do IP, to sprawa jest trudniejsza, bo trzeba się bawić w parsowanie na żywo /var/lib/dhcpd/dhcpd.leases, albo logów serwera dhcp.
Czyli troszkę rzeźbienia jest.
Łatwiej będzie zrobić statyczną adresację w serwerze dhcp.
Wygląda na to, ze żadna magia z tym rzeźbieniem:
Wystarczy grepować DHCPPACK z sysloga, a potem:
echo " localhost dhcpd: DHCPACK on 192.168.1.5 to 00:0d:62:d7:a0:12 via eth0"| awk '{print "ipset add leasses "$5","$7} ' ipset add leasses 192.168.1.5,00:0d:62:d7:a0:12
Pozdro
;-)
Ostatnio edytowany przez Jacekalex (2013-07-23 16:04:53)
Offline
Strony: 1
Time (s) | Query |
---|---|
0.00009 | SET CHARSET latin2 |
0.00004 | SET NAMES latin2 |
0.00099 | 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.138.125.86' WHERE u.id=1 |
0.00075 | UPDATE punbb_online SET logged=1732217142 WHERE ident='3.138.125.86' |
0.00047 | SELECT * FROM punbb_online WHERE logged<1732216842 |
0.00074 | 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=15188 AND t.moved_to IS NULL |
0.00004 | SELECT search_for, replace_with FROM punbb_censoring |
0.00238 | 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=15188 ORDER BY p.id LIMIT 0,25 |
0.00076 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=15188 |
Total query time: 0.00626 s |