Spodaj je prikazan primer statične nastavitve ip naslovov na omrežnem vmesniku.
/etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0 BROADCAST=10.0.0.255 IPADDR=10.0.0.10 IPV6ADDR= IPV6PREFIX= IPV6INIT=yes NETMASK=255.255.255.0 NETWORK=10.0.0.1 ONBOOT=yes
Virtualni stroj, na katerem je naložen 6MoN priključimo na trunk vmesnik, v katerega speljemo vse označene VLANe na omrežju, ki jih želimo nadzorovati. Če ima virtualni stroj dva fizična vmesnika upravljalsko omrežje za dostop do 6MoN-a speljemo na drug vmesnik, sicer v snopu VLANov, upravljalsko omrežje nastavimo kot neoznačeno (ang. native).
interface GigabitEthernet0/1 description --6MoN network monitor-- switchport trunk native vlan 10 switchport trunk allowed vlan 10,20,30,40 switchport mode trunk !
Vsi potrebni paketi niso na voljo v privzetih repozitorijih, zato si namestite še epel repozitorij.
rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
Prenesite .rpm paket za namestitev. Zaporedje ukazov za prenos in namestitev je prikazano spodaj.
wget http://aai.arnes.si/static/eduroam/6mon-2.2-1.el6.x86_64.rpm yum localinstall 6mon-2.2-1.el6.x86_64.rpm
Paket vam je v mapo /opt/src/ razpakiral Django 1.4, spletno ogrodje za Python. Namestite ga z naslednjim zaporedjem ukazov.
cd /opt/src/ tar xzf Django-1.4.tar.gz python setup.py install
Preverite, da so vsi potrebni servisi zagnani. Spletni strežnik apache pa je potrebno ponovno zagnati.
service mysqld start service httpd restart service postfix start service ndp start
Inicializacija podatkovne baze za spletni administratorski vmesnik.
mysql -u root -p < /opt/django/nmon/config/6mon-admin.sql cd /opt/django/nmon python ./manage.py syncdb mysql -u6mon -p <geslo> nmon2 < /opt/django/nmon/config/alter-radacct.sql mysql -u6mon -p <geslo> nmon2 < /opt/django/nmon/config/config_startup.sql
Datoteka index.html preusmerja vse zahtevke na spletnem strežniku na 6MoN adminsitratorski vmesnik. Aktivirajte jo z ukazom:
mv /var/www/html/index.html.www /var/www/index.html
Omogočimo avtomatski zagon potrebnih servisov ob zagonu sistema.
chkconfig mysqld on chckconfig httpd on chkconfig postfix on chkconfig ndp on
Na nadzornem strežniku 6MoN strežniku RADIUS omogočite pisanje v bazo MySQL za beleženje. To storite tako, da v bazi ustvarite namensko uporabniško ime.
create user '6mon'@'<RADIUS FQDN>' set password for '6mon'@'<RADIUS FQDN>' = PASSWORD('<geslo>'); grant all on nmon2.* to '6mon'@'<RADIUS FQDN>';
Nastavitev beleženja na prijavnem strežniku RADIUS. Nastavitev bo omogočila korelacijo med naslovi MAC, IP-ji in uporabniškimi imeni na omrežju. Ostale nastavitve strežnika RADIUS pustite nespremenjene.
# -*- text -*- # # $Id$ # # Writing Accounting to 6mon database. # # Schema raddb/sql/mysql/6mon.sql # Queries raddb/sql/mysql/6mon.conf # sql 6mon { database = "mysql" driver = "rlm_sql_${database}" server = "<IP strežnika 6mon>" port = 3306 login = "6mon" password = "<geslo za mysql na strežniku 6mon>" radius_db = "nmon2" num_sql_socks = 5 connect_failure_retry_delay = 60 sql_user_name = "%{User-Name}" $INCLUDE sql/${database}/6mon.conf }
# #6MoN Accounting queries v0.1 # accounting_start_query = "INSERT into `radiusacc_radacct` SET\ `UserName` = '%{User-Name}',\ `CallingStationId` = '%{Calling-Station-Id}',\ `CalledStationId` = '%{Called-Station-Id}',\ `NASIPAddress` = '%{NAS-IP-Address}',\ `NASPortId` = '%{NAS-Port-Id}',\ `AcctStartTime` = NOW(),\ `AcctSessionId` = '%{Acct-Unique-Session-Id}'" accounting_update_query = "UPDATE `radiusacc_radacct` SET\ `AcctSessionTime` = '%{Acct-Session-Time}',\ `AcctInputOctets` = '%{%{Acct-Input-Gigawords}:-0}' << 32 | '%{%{Acct-Input-Octets}:-0}',\ `AcctOutputOctets` = '%{%{Acct-Output-Gigawords}:-0}' << 32 | '%{%{Acct-Output-Octets}:-0}'\ WHERE `AcctSessionId` = '%{Acct-Unique-Session-Id}'\ LIMIT 1" accounting_stop_query = "UPDATE `radiusacc_radacct` SET\ `AcctStopTime` = NOW(),\ `AcctSessionTime` = '%{Acct-Session-Time}',\ `AcctInputOctets` = '%{%{Acct-Input-Gigawords}:-0}' << 32 | '%{%{Acct-Input-Octets}:-0}',\ `AcctOutputOctets` = '%{%{Acct-Output-Gigawords}:-0}' << 32 | '%{%{Acct-Output-Octets}:-0}',\ `AcctTerminateCause` = '%{Acct-Terminate-Cause:-Unknown}'\ WHERE `AcctSessionId` = '%{Acct-Unique-Session-Id}'\ LIMIT 1"
BEGIN; CREATE TABLE `radiusacc_radacct` ( `id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY, `RadAcctId` integer, `AcctSessionId` varchar(64), `AcctUniqueId` varchar(32), `UserName` varchar(64), `GroupName` varchar(64), `Realm` varchar(64), `NASIPAddress` varchar(15), `NASPortId` varchar(15), `NASPortType` varchar(32), `AcctStartTime` datetime NOT NULL, `AcctStopTime` datetime NOT NULL, `AcctSessionTime` integer, `AcctAuthentic` varchar(32), `ConnectInfo_start` varchar(50), `ConnectInfo_stop` varchar(50), `AcctInputOctets` integer, `AcctOutputOctets` integer, `CalledStationId` varchar(50), `CallingStationId` varchar(50), `AcctTerminateCause` varchar(32), `ServiceType` varchar(32), `FramedProtocol` varchar(32), `FramedIPAddress` varchar(15), `AcctStartDelay` integer, `AcctStopDelay` integer, `xascendsessionsvrkey` varchar(10) ) ; COMMIT;
accounting { # process only Accounting from Home AcessPoints. if (!"%{Proxy-State}") { detail sql #Addition for 6mon #Rewrite MAC for 6mon rewrite.called_station_id rewrite.calling_station_id 6mon } attr_filter.accounting_response # Acct-Type Status-Server { # } }
Administratorski vmesnik orodja 6MoN je na voljo na upravljalskem naslovu IP nadzornega strežnika ali lokalno na http://localhost.
Prikaz osnovnih nastavitev modulov. Prilagodite le potrebne parametre:
Dodajanje skupine uporabnikov in dodelitev pravic skupini.
Povezava skupine in vlan-a na omrežju. S tem omogočimo, da skupina za izbrani vlan prejema obvestila o dogajanju na omrežju. Nastavitev je potrebno ponoviti za vsak vlan posebej.
Dodajanje novega uporabnika.
Za uporabnika izpolnimo tudi dodatne podatke in ga vmestimo v ustrezno skupino. Kot član skupine bo prejemal obvestila za vlan-e, s katerimi je skupina povezana.
Nastavitev mitigacijskih parametrov. Po njih se orodje 6MoN ravna, ko zazna nepravilnost na omrežju. Nastavimo jih na ravni vlan-a.
Nastavitev orodja arpwatch. Vnesemo naslove IP za pomembne sestavne dele omrežja (npr. usmerjevalnik, strežnik RADIUS, strežnik DHCP,...).
Pregled podatkov o uporabnikih na omrežju s pomočjo beleženja RADIUS. Na zavihku Address correlation lahko nato strojni naslov uporabnikovega računalnika povežemo z njegovimi naslovi IPv4 in IPv6, ter uporabniškim imenom.