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/.
Witam,
czy ktoś może podać jakiś skrypt, który wyciągałby automatycznie ip i mac z pliku dhcpd.conf???
Udało mi się zrobić wyciąganie samego mac ale w żaden sposób nie mogę dobrać się do ip a co za tym idzie połaczyć i jedno i drugie.
To co udało mi się zrobić ( a raczej wygooglać i dostosować)
sed '/ethernet/!d;s/.* ethernet//' /etc/dhcp3/dhcpd.conf | cut -c 2-18 | uniq | while read ethernet; do echo "iptables -A user-filter --match mac --mac-source ${ethernet} -j RETURN"; done
Chciałbym uzyskać następujący efekt:
iptables -A user-filter -s ${IP} --match mac --mac-source ${ethernet} -j RETURN
Jeżeli zna ktoś jakiś lepszy sposób to czekam na propozycję
Z góry dziękuje za pomoc
Ostatnio edytowany przez karat611 (2009-11-18 15:28:44)
Offline
Gdybyś podał swoje formatowanie dhcpd.conf, to pewnie ktoś mógłby pomóc.
Inna sprawa, czy nie wygodniej by było napisać sobie plik np. userzy.txt gdzie znajdowały by się łatwo parsowalne informacje, a potem na podstawie tego pliku generować dhcpd.conf i iptables? Podpowiem, że dhcpd ma opcję "include", co pozwala z głównego pliku konfiguracyjnego załadować sobie plik z definicjami hostów. Ot chyba warta zastanowienia opcja.
Offline
urug napisał(-a):
Podpowiem, że dhcpd ma opcję "include", co pozwala z głównego pliku konfiguracyjnego załadować sobie plik z definicjami hostów. Ot chyba warta zastanowienia opcja.
to zabiles mi klina.pedze sprawdzic.kurde wczesniej na to nie wpadlem nigdzie :/
Offline
Bo zaczynasz z niewłaściwej strony. Powinieneś mieć na początku plik z parami MAC + IP, a z tego pliku generować wpisy do dhcp.conf i do firewalla.
Offline
Czy mogę poprosić o jakieś bliższe wskazówki lub link do strony z przykładem???
Pozdrawiam
Offline
Ciężko o przykład :-)
Możesz zmontować sobie plik, np. /etc/lan.cfg z taką zawartością
janek 192.168.1.1 AA:AA:AA:AA:AA:AA
kasia 192.168.1.2 AA:AA:AA:AA:AA:AB
Teraz tworzysz sobie skrypt(y), które ten plik odczytają i wykorzystają zawartość. Jeden skrypt mógłby generować plik /etc/dhcp/dhcpd-lan.cfg zawierający dyrektywy:
host $id { hardware ethernet $mac; fixed-address $ip; }
A ten pliczek załączasz za pomocą "include" do głównego /etc/dhcp/dhcpd.conf
Identycznie ten plik możesz wykorzystać do skryptu firewalla o którym pisałeś w 1 poscie. Łatwo go sparsować (chociażby cut'em) - masa plusów :-P
Ostatnio edytowany przez urug (2009-11-18 18:34:52)
Offline
Przykro mi ale jestem kiepski w pisaniu skryptów. :(
Jeśli można to poprosiłbym o wytłuszczenie tematu z przykładem zastosowania.
Na google nie mogę nic znaleźć z taką konfiguracją.
A temat wydaje się być ciekawa.
Pozdrawiam
Ostatnio edytowany przez karat611 (2009-11-18 18:42:24)
Offline
Ok, to taki absolutnie trywialny przykład.
Mam katalog /home/urug/Desktop/bzium, a w nim plik lan.cfg z taką zawartością:
janek-192.168.1.1-AA:AA:AA:AA:AA:AA kasia-192.168.1.2-BB:BB:BB:BB:BB:BB
Następnie tworzę prosty skrypt gen_dhcpd.sh, który zawiera w sobie taki prościutki kod:
#!/bin/bash for i in $(cat lan.cfg); do ID=$( echo "$i" | cut -d - -f 1 ) IP=$( echo "$i" | cut -d - -f 2 ) MAC=$( echo "$i" | cut -d - -f 3 ) echo "host $ID { hardware ethernet $MAC; fixed-address $IP; }" done
Jeśli go uruchomisz, odczyta plik lan.cfg i na stdout wyświetli fragment konfiguracji (chyba poprawnej) dhcpd.conf.
Możesz sobie to wyjście przesłać do pliku jakiegoś, np. ./gen_dhcpd.sh > /etc/dhcp/lan_dhcp.cfg a ten plik za pomocą dyrektywy include załączyć do dhcpd.conf
Wracając do pierwszego postu i iptables - robisz podobnie, myślę że będziesz potrafił to zrobić po prostu przerabiając ten skrypt.
Mam nadzieję że rozumiesz o co chodzi, trzymasz bazę danych użytkowników w 1 pliku, a konfiguracja do programów może być generowana automatycznie (albo prawie automatycznie).
Uważaj tylko na stosowane konstrukcje, bo np. to co ja użyłem nie będzie zbyt wydajne dla wielu użytkowników. Dla kilkudziesięciu czy kilkuset może się sprawdzić :-)
Powodzenia!
Ostatnio edytowany przez urug (2009-11-18 18:47:20)
Offline
Wielkie dzięki!!!!
Jutro zabieram się do testowania.
Pozdrawiam
Offline