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!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2009-11-18 15:27:17

  karat611 - Użytkownik

karat611
Użytkownik
Zarejestrowany: 2009-10-02

wyciąganie ip i mac z pliku dhcpd.conf

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

 

#2  2009-11-18 16:58:35

  urug - Członek DUG

urug
Członek DUG
Skąd: Częstochowa
Zarejestrowany: 2008-04-22
Serwis

Re: wyciąganie ip i mac z pliku dhcpd.conf

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.


Pozdrawiam, Tomek

Offline

 

#3  2009-11-18 17:38:57

  janosik - Członek DUG

janosik
Członek DUG
Zarejestrowany: 2009-05-06

Re: wyciąganie ip i mac z pliku dhcpd.conf

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

 

#4  2009-11-18 18:13:27

  andreq - Członek DUG

andreq
Członek DUG
Skąd: Nisko
Zarejestrowany: 2005-01-11

Re: wyciąganie ip i mac z pliku dhcpd.conf

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

 

#5  2009-11-18 18:17:53

  karat611 - Użytkownik

karat611
Użytkownik
Zarejestrowany: 2009-10-02

Re: wyciąganie ip i mac z pliku dhcpd.conf

Czy mogę poprosić o jakieś bliższe wskazówki lub link do strony z przykładem???

Pozdrawiam

Offline

 

#6  2009-11-18 18:34:06

  urug - Członek DUG

urug
Członek DUG
Skąd: Częstochowa
Zarejestrowany: 2008-04-22
Serwis

Re: wyciąganie ip i mac z pliku dhcpd.conf

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:

Kod:

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)


Pozdrawiam, Tomek

Offline

 

#7  2009-11-18 18:40:07

  karat611 - Użytkownik

karat611
Użytkownik
Zarejestrowany: 2009-10-02

Re: wyciąganie ip i mac z pliku dhcpd.conf

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

 

#8  2009-11-18 18:45:52

  urug - Członek DUG

urug
Członek DUG
Skąd: Częstochowa
Zarejestrowany: 2008-04-22
Serwis

Re: wyciąganie ip i mac z pliku dhcpd.conf

Ok, to taki absolutnie trywialny przykład.

Mam katalog /home/urug/Desktop/bzium, a w nim plik lan.cfg z taką zawartością:

Kod:

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:

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)


Pozdrawiam, Tomek

Offline

 

#9  2009-11-18 19:33:28

  karat611 - Użytkownik

karat611
Użytkownik
Zarejestrowany: 2009-10-02

Re: wyciąganie ip i mac z pliku dhcpd.conf

Wielkie dzięki!!!!

Jutro zabieram się do testowania.

Pozdrawiam

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)