ITjes en datjes

Dingen uit dagelijks IT werk

Archive for the ‘installatie’ Category

Hyper-V – Proxmox

Even een halfslachtige vergelijking van de installatie van Windows server 2008 R2 op een Hyper-V server en een Proxmox host.

De Hyper-V 2012 R2 host draait op een HP ML110 G6, CPU X3430, 16GB RAM en RAID 1 van 500GB disks.
De Proxmox 3.4 host draait op een HP 8400 workstation, CPU Q8400, 8GB RAM en softraid 1 met LVM van 500GB disks

De installatie van server 2008 werd in eerste instantie gedaan met standaard instellingen, IDE disk van 64GB (dynamisch), 1GB RAM, standaard netwerkkaart (MS Hyper-V nic en Intel E1000).

De installatie van 2008 verliep op Proxmox een heel stuk sneller dan op Hyper-V. Zelfs het verschil van installatie met een ISO op een netwerkschijf of van lokale schijf mag dat niet maken.
Dit werd ook duidelijk bij de eerste ronde van Windows update. Tegen de tijd dat de Hyper-V guest de eerste van 90 updates  ging installeren was de Proxmox guest al met de zeventigste bezig.
Een snelle benchmarktest die ik van te voren draaide gaf 96MB/s schrijfsnelheid voor Hyper-V en 66MB/s voor Proxmox (na wijziging naar virtio 72MB/s).

Nu kan er pas na installatie van alle updates (service pack 1) pas de integration services van Hyper-V geïnstalleerd worden, dus is de vraag wat dat nog voor verschil kan maken.

Update:
Na gerommel met drivers en deserver over de rooie gekregen te hebben ben ik die op Proxmox opnieuw gaan installeren. Dit keer liep deze net zo traag met updates als de Hyper-V versie.
Ik had nog even een tweede CPU toegevoegd en wat meer RAM maar het ging niet sneller. Later had ik even wat meer tijd om te kijken en ik zag dat ik de extra cdrom met de driver iso nog actief had staan in de configuratie. Deze was niet meer nodig en ik haalde deze weg na de server weer uitgezet te hebben. Het starten liep vervolgens een stuk sneller. Ook de management onderdelen reageerden sneller.
De traagheid was dus veroorzaakt door een dubble cdrom met geladen iso.

Om te zien of dit ook op Hyper-V verschil maakte heb ik bij die server de cdrom compleet verwijderd, echter gaf dat geen verschil. Dit kan goed te maken hebben met de floppy drive die standaard wordt aangemaakt en alsnog vertraging geeft op het I/O gedeelte.

Written by mnystrom

2015/08/07 at 16:25

notities bij omzetting naar RAID

*losse notities terwijl ik nog bezig met met de omzetting, het is nog niet geverifieerd

De oorspronkelijke opzet van de PC:
disk 1: /boot, 512MB, /, 32GB, swap, 4GB, /data/local/disk01, *GB
disk 2: /data/local/disk02, *GB

Wat ik wilde maken:
/boot, RAID10 512MB, /, RAID10 32GB, swap RAID10 4GB, /data/local/disk02, RAID10 *GB, /data/local/disk01, *GB met /boot, / en swap verdeeld over 1 320GB en 2 1TB schijven, disk02 verdeeld over de rest van de 2 TBschijven voor belangrijke data en virtuele machines en disk01 voor onbelangrijke data.

Helaas kunnen er maar 3 schijven aangesloten worden ivm de 4e poort voor de CD speler, anders had ik er meteen 4 gebruikt.

Als eerste de 3e schijf plaatsen, raid partities maken (fdisk, mdadm), formatteren (mkfs.ext4), mounten en data overzetten. Na de kopie fstab wijzigen en de disk02 mount omzetten van /dev/sdb5 naar /dev/md3, swap naar /dev/md2.
(niet vergeten om de bootable flag te zetten op de nieuwe boot partities)

*aangezien mdadm nog geen grow optie heeft voor raid10 is het misschien slim om bij het maken de optie –raid-devices=3 (of hoger) toe te passen. al zal dan waarschijnlijk de array constant als degraded vermeld worden..

Overzetten van / en /boot;

mount /dev/md1 /mnt
mount /dev/md0 /mnt/boot
mount –rbind /dev /mnt/dev
mount –rbind /proc /mnt/proc

Alles in / en /boot kopieëren met cp -bpRx /[dir] /mnt/[dir] behalve /dev, /proc, /tmp, /lost+found, /sys, /run. Deze zelf aanmaken in /mnt (let op de permissies).

chroot /mnt

Eventuele oude RAID array vermelding in /etc/mdadm/mdadm.conf verwijderen (de ARRAY regels aan het einde) en de nieuwe toevoegen via mdadm –detail –scan >> /etc/mdadm/mdadm.conf.

grub-mkconfig
grub-install /dev/sdb1 /dev/sdc1
update-initramfs -u

Testen door PC uitzetten, oude disk loskoppelen en PC weer starten.
Als boot lukt, oude disk via USB connectie herpartitioneren, aan RAID arrays toevoegen en na geslaagde sync weer inbouwen in PC.

 *grub.cfg

In de config van grub2 wordt verwezen naar uuid’s van de raid arrays en file systemen. Deze zouden bij migratie naar grote schijven aangepast kunnen worden mits er naar de juiste verwezen worden (zie blkid en mdadm –detail –scan).

De eerste vermelding in grub.cfg is;
set root=’mduuid/…’ verwijst naar naar de array id van root (md1)
if search –hint= verwijst naar mduuid/ array id md1 en blkid md1
else naar blkid md1

in het 10_linux gedeelte;
set root=’mduuid/ array id /boot (md0)
if search –hint=’mduuid/ array id md0′ en blkid md0
else blkid /md1

Het eerste kijkt dus meteen naar de root partitie, daarna wordt in 10_linux telkens gekeken naar de /boot partitie en alleen root als dat niet werkt.

Dit alles moet het volgende opleveren;
-opstarten van systeem en programma’s met een factor tot 3 versnellen
-opstarten virtuele machines versnellen met factor tot 2
-lezen van data vanaf disk02 versnellen met factor tot 2
-verlies van 1 schijf is geen verlies van functionaliteit, ten hoogste van onbelangrijke data op disk01
-schrijf snelheid kan verhoogd zijn tot factor 2
-eventuele uitbreiding van diskruimte door vervanging disks kan zonder opnieuw installeren

Snelheid testen via simpele tests;

hdparm -tT /dev/mdxx voor het testen van leessnelheid.
sync;time bash -c “(dd if=/dev/zero of=bf bs=8k count=500000; sync)” voor de snelheid van schrijven. Let op op welke plek dit wordt gestart, het bf bestand wordt 4.1GB groot.

 

Uiteindelijke procedure

Configuratie:
sda: 320GB; sda1: 297.9GiB type dasdb: 1TB; sdb1: 297.9GiB type da, sdb2: 633.6GiB type da
sdc: 1TB; sdc1: 297.9GiB type da, sdb2: 633.6GiB type da

md11: raid-devices=3 level=10 layout=f2 /dev/sda1 /dev/sdb1 /dev/sdc1
md12: raid-devices=2 level=10 layout=f2 /dev/sdb2 /dev/sdc2

vg00: /dev/md11 /dev/md12
lv01: 512MB /boot
lv02: 32GB /
lv03: 4GB swap
lv04: 1.1TB /data/local/disk01

1 RAID10 set van de 320GB schijf en partities van de TB schijven en 1 set van de overgebleven ruimte leek me de beste prestaties en redundency te geven. De RAID sets worden vervolgens met LVM tot 1 grote schijf samengevoegd en daarna in gedeeltes voor /boot, /, swap en data ruimte verdeeld.
Hierdoor krijgt het OS en /home gedeelte de maximale prestaties met daarbij nog een gedeelte (zo’n 260GiB) van data.
Het is een optie om de 260GiB een eigen data locatie te geven maar dat was van minder belang omdat er een flink aantal virtuele testmachines komen te draaien.

Leessnelheid op md11 is ongeveer 280MB/s, op md12 190MB/s.
De schrijftest gaf in / ongeveer 185MB/s, in de data directory ongeveer 90MB/s.

sdb had nog de oorspronkelijke configuratie van het systeem nadat ik de rest van de devices sda en sdc had verwijderd van de RAID setup.

Het effect op het maken van virtuele machines was helaas erg. Het duurde een lange tijd voordat het uitpakken van de installatiebestanden van Windows 7 klaar was bij het maken van een nieuwe virtuele machine. De goede snelheid van 90Mb/s was helaas niet van toepassing in dit geval.

De volgende stap uitgevoerd, verplaatsen van de lvm physical volumes naar sdb en sdc, sda vervangen door een andere 1TB schijf, daarna alles verplaatst met lvm naar sda (gelukkig nog niet zoveel ruimte gebruikt) en van sdb en sdc een nieuwe raid10 met layout o2 gemaakt met 1 missing disk (/dev/md11).
Nadat dat gelukt is de nieuwe raidset toegevoegd aan de volume group en alles weer vehuisd naar de nieuwe md11, de oude sda1 verwijderd en weer als onderdeel van de nieuwe raidset toegevoegd.
Nu nog een installatie van een virtuele Windows machine testen..

 

Written by mnystrom

2015/02/21 at 21:17

Geplaatst in installatie, linux, NL, opslag

Tagged with ,

Over software RAID op Linux, FreeBSD, Windows

Vorige week voor een klant een kleine firewall opgezet. Er was weinig budget maar het was hard nodig om de boel daar (een stapel Windows PC’s voor de clïenten) beter te beveiligen. Tot nog toe was er alleen maar software gebruikt die de PC’s naar oorspronkelijke staat terugdraaide bij uitzetten of herstart. Met als gevolg dat de provider voor de zoveelste keer de verbinding blokkeerde i.v.m. infecties.

Eén van de maatregelen was een firewall met filtering en daarvoor hebben we op een oude PC PFSense gezet. Om in ieder geval op één punt wat redundancy te krijgen is de installatie op een GEOM mirror geplaatst.
Aangezien dat de installatie daar de optie voor heeft was het een fluitje van een cent. Nu kwam dat ook goed uit want na een paar dagen proefdraaien op de zaak kreeg een schijf kuren. Schijf eruit, andere schijf erin, de mirror de ontbrekende schijf laten vergeten en vervolgens de nieuwe toevoegen. Dat was alles.

Dat dat zo makkelijk kan was ik al gewend van de eerdere ervaringen met Linux software RAID.
De diverse Proxmox servers installeerde ik al bovenop een Debian installatie met specifieke RAID opzet. En de eigen PC had ik ook draaien met meerdere schijven met een combinatie van RAID 1 en 0 partities.

Na de installatie van de firewall was ik weer eens gaan kijken naar de diverse opties die mdadm biedt om te zien of er nog iets interessants te vinden was.
Daarbij kwam ik op diverse testen uit van de RAID 10 opties. Normale RAID 10 bestond altijd uit twee vaste paren schijven in RAID 0 die een RAID 1  vormden (of andersom). De RAID 10 optie van mdadm werkt al vanaf twee schijven, en werkt niet met vaste paren als er meer dan twee worden gebruikt. Er wordt (afhankelijk van de keuze hoeveel) alleen maar voor gezorgd dat er stukken data op minstens twee verschillende partities staan. Staan de partities op dezelfde fysieke schijf dan heeft het geen zin, maar dat is een eigen keuze.

Waar dan ook nog voor gekozen kan worden is de manier waarop de dubbele blokken verdeeld worden op de schijven. Standaard is “near”, dan staan de blokken zoveel mogelijk op dezelfde positie op de schijven. “Offset” verschuift het tweede blok een positie verder zodat het iets meer verspreid staat (mmaar niet veel). En “far” deelt de schijf min of meer in twee en begint bij één schijf vooraan en de ander in het midden zodat er maximale spreiding is van de datablokken.

Het grote voordeel van “far” is de snelheid van constant lezen van data (wat meestal bij een PC gebeurt), deze kan bijna net zo snel zijn als RAID 0. Schrijven is daarintegen langzamer, maar niet zo langzaam als men zou denken.
Diverse tests zijn uitgevoerd van de diverse mdadm RAID opties en over het algemeen komt RAID 10 met de “far layout” het beste uit de bus.

Software RAID is nooit een echte optie geweest in Windows. Om de systeemschijf in RAID te krijgen was altijd een hardware oplossing nodig, al was het maar de on-board semi-RAID controller.
Met server 2012 is er verandering in gekomen. Via de disk manager kan er een mirror gemaakt worden van de systeemschijf partities als er een lege, ongeformateerde schijf beschikbaar is.

Om de systeemschijf van Windows server 2012 in RAID1 te zetten;

Start diskmgmt.msc na een ongeformatteerde schijf beschikbaar te hebben.Windows_2012_RAID1_01

 

Klik met de rechtermuisknop op de eerste partitie en kies voor Add Mirror.Windows_2012_RAID1_02

 

Selecteer de juiste schijf.  Windows_2012_RAID1_03

 

Bevestig de conversie.

Windows_2012_RAID1_04

 

En de mirror verschijnt als volgt in de disk manager.Windows_2012_RAID1_05

 

Doe hetzelfde voor de partitie waar Windows op geïnstalleerd staat.Windows_2012_RAID1_06

Echter is het nog steeds niet hetzelfde als open source software RAID. Met een test van een virtuele machine bleek dat het aanmaken makkelijk was, echter als de originele schijf weg is blijft Windows tijdens de start vragen naar de schijf.
In plaats van automatisch omschakelen naar de kopie wordt geprobeerd om van de eerste schijf te starten en komt vervolgens een foutmelding en de vraag naar de installatieschijf voor opstartherstel.
Alleen als er tijdens het opstarten de tweede schijf gekozen wordt kan Windows verder gaan.
Het begin is er, maar helaas is de software RAID versie van Microsoft te beperkt om in te zetten voor de eigen systeemschijf.

Het goed aanmaken van een RAID set onder Linux is iets meer werk, maar dan werkt het wel zoals het hoort.

*Een aantal ideeën die ik nog kreeg tijdens het lezen van het materiaal;

-Hoe zou de snelheid zijn als i.p.v. een grote partitie meerdere kleinere partities gebruikt werden van RAID10,f2 met daarbovenop een LVM volume die deze weer combineert. Lezen iets langzamer en schrijven dan weer sneller?

-RAID10,2f emuleren door zelf de schijven in twee partities te verdelen en vervolgens elke eerste en tweede als RAID 1 te gebruiken. Dit zou een alternatief voor gebruik met Windows kunnen zijn.

 

Written by mnystrom

2015/02/17 at 22:56

Veilig surfen op internet

Veilig surfen op internet blijft toch moeilijk met de verschillende manieren waarop malware zich kan nestelen in het systeem.
Het kan komen door een lek in de browser zelf, maar ook door ondersteunende software zoals Java, Adobe Flash, PDF readers, etc., maar ook door het downloaden van die “handige” programmatjes die het zoeken makkelijker maken, of Windows versnellen, of leuke smilies vertonen bij tekst.

Anti-virus kan veel tegehouden, zolang het de dreiging maar herkend. Doet deze dat niet dan wordt de malware gewoon doorgelaten. Meestal houdt dit in dat er op 1 van de verschillende manieren waarop Windows automatisch programma’s start een verwijzing komt te staan naar het malware bestand. Eenmaal opgestart zorgt het er ook wel voor dat die verwijzing hersteld wordt mocht deze verwijderd worden.

Om dit gedrag tegen te houden moet dus voorkomen worden dat de malware in de eerste plaats het systeem kan aanpassen; geen verwijzing naar de malware in het systeem betekend dat deze dus ook niet opgestart wordt.

Om dit voor elkaar te krijgen zijn we bezig met twee oplossingen die een virtuele schil bouwen; een browser pakket waarin de belangrijkste onderdelen geïntegreerd zijn, en een pakket wat het hele systeem afschermd van de programma’s die draaien.

Het (Nederlandstalig) browserpakket verwijst alle wijzigingen die naar het systeem gaan om naar een aparte map, die worden dus niet in werkelijkheid uitgevoerd. Alleen binnen de browser is dit zichtbaar. Malware die hierin terechtkomt kan dan ook verwijderd worden door de map leeg te halen zodat de browser weer schoon opstart.

Het andere pakket schermt met uitzondering van specifiek aangegeven programma’s het hele systeem af. Programma’s worden uitgevoerd maar kunnen het systeem niet wijzigen, en hierbij kunnen ook bepaalde mappen met waardevolle gegevens tegen lezen beschermd worden.

Voor meer info over deze zaken neem contact op via info@mbitz.nl, of ga naar www.mbitz.nl.

Overigens zijn er nog meer mogelijkheden in bescherming op het gebied van virtualisatie en zelfs het gebruik van Linux i.p.v. Windows.

 

Written by mnystrom

2012/10/08 at 14:20

Windows Deployment Services server

De punten die we hebben toegepast op onze Windows Deployment Services server (WDS) voordat we deze geschikt vonden om te gebruiken in ons bedrijf:

Meerdere Windows versies (logisch toch?);
-XP
-Vista
-7
-8 (binnenkort)

Overzichtelijkheid;
-Images en configuratie bestanden met duidelijke naam (geen waslijst van onduidelijke install-(….).wim namen)

Het belangrijkste, eenmalige configuratie voor volledige installatie;
-Na de PXE boot alle benodige info invoeren waarna de volledige installatie van de juiste versie van Windows en benodigde extra software zoals een office pakket, antivirus, etc. in 1 keer uitgevoerd wordt.
Niet elke keer inloggen op de server, een aparte XML aanmaken, na basis installatie nog een keer handmatig standaard software pakket installeren, etc.

Omdat we met diverse klanten te maken hebben moet de server flexibel genoeg zijn om een kale Windows te installeren en daarna afgeconfigureerd worden zonder dat er verder een vinger uitgestoken wordt. Voor vaste configuraties is het makkelijker, maar om het gros af te vangen is aardig wat werk om op te zetten.

ff onthouden: WDS dingetjes

WinPE 64 bit draait geen 32 bit progammas, hierbij komt de melding dat het juiste subsysteem niet gebruikt kan worden. Dat betekend het betreffende programma (in dit geval sed for Windows) opnieuw compileren voor x64.

Written by mnystrom

2012/07/03 at 13:43

ff onthouden; SQL dingetjes

WSUS database connectie maken;

\\.\pipe\mssql$microsoft##ssee\sql\query

Security aanpassen ivm fout niet installeren van security update van SQL 2000 server servicepack 4, sysaadmin privilege instellen op admin account.

 

Written by mnystrom

2012/05/09 at 08:21

Geplaatst in installatie, NL, software, SQL

Tagged with

ff onthouden; Unit 4 dingetjes

Oude server is dood/vervangen en Unit 4 Multiverse moet verwijderd/vervangen worden op de pc;

foutmelding; kan pad …. niet vinden.

In de registry staat een verwijzing naar het pad, in dit geval \\server\unit4labels. Zoek naar “server\unit4labels”.
Onder de Install key van Multiverse de waarde wijzigen naar een lokaal pad (eventueel aanmaken), b.v. c:\program files\unit 4 agresso\unit4labels.
Eventueel staat er een verwijzing in een lijst van geïnstalleerde dll bestanden, daar de string gewoon verwijderen.

Bij opnieuw de software verwijderen kan er weer een melding komen maar de deïnstallatie loopt wel door.

Automatische backup Gupta SQLbase op server;

Start sqltalk met een sql script dat het backup commando voor elke database bevat; BACKUP SNAPSHOT FROM MVLMAIN TO D:\backup\SQL\Unit4\mvlmain ON CLIENT;

Lopac voor Windows;

Alternatieve mail poort gebruiken ivm de poort 25 blokkade van providers.

Written by mnystrom

2012/05/08 at 12:53

Geplaatst in installatie, NL, software

Tagged with ,

Proxmox Virtual Environment 1.9 cluster (nl)

EN/UK version

Omdat het tijd werd om het netwerk thuis eens op te frissen ben ik meteen gaan kijken naar een virtueel cluster.

Voorheen gebruikte ik FreeBSD met jails om de diverse servers gescheiden te houden en die functionaliteit wilde ik blijven houden. Wat er extra bij moest komen was failover om de diverse servers te kunnen verplaatsen in het geval van onderhoud of problemen met de host.

De eerste ervaring met Proxmox VE 1.9 was goed, echter wilde ik een andere indeling van de host omdat de standaard installatie de hele schijf in beslag neemt. Dat is gelukkig geen probleem aangezien Proxmox op een bestaande Debian Lenny 64 bit server gezet kan worden.

Tijdens de installatie van Debian heb ik een gedeeltelijke RAID indeling gemaakt via de software RAID optie van Linux. Alleen het gedeelte voor de virtuele omgeving hoeft op RAID 1 te draaien, het belangrijke gedeelte van data wordt via backup veilig gesteld. Overige data kan weer opnieuw gedownload of geript worden (DVD en CD collectie voor de media center, etc.) en hoeft dus niet persé op RAID of backup.
Hiermee heb ik toch een stuk redundantie maar ben niet alle schijfruimte kwijt aan RAID.

De volgende indeling is gemaakt:
/dev/md0, 512 MB RAID 1, /boot
/dev/md1, 8 GB RAID 1, /
/dev/md2, 100 GB RAID 1, /var/lib/vz
/dev/sda4, *, /data/local/disk01
/dev/sdb4, *, /data/local/disk02

Op sda4 en sdb4 komt de normale data, de backup van virtuele servers op de andere cluster node en de backup van de belangrijke data op de andere cluster node. Dit wordt dan via NFS beschikbaar gemaakt.
Er is geen swap partitie omdat er meer dan voldoende geheugen in de host servers zit, maar dat is nog altijd een optie.

De installatie van Debian wordt zo kaal mogelijk uitgevoerd, hierna wordt namelijk de sources.list aangepast voor de repository van Proxmox en de installatie van de benodigde onderdelen op aanwijzing van de Proxmox Wiki.

Wat rest zijn extra tweaks in het vzmigrate script om migratie te versnellen en extra netwerk bridges om host verkeer te scheiden van de virtuele servers.

High availability met losse VZ containers is er nog niet, dan moet de hele server om maar misschien kan de onderbreking toch beperkt blijven met een combinatie van Heartbeat, DRBD en rsync.

Written by mnystrom

2011/11/12 at 15:20

Portal voor gratis internet op Debian

Voor een klant een internet portal opgezet zodat de campinggasten hier gebruik van kunnen maken. Een aantal bekendere oplossingen voldeden niet en uiteindelijk de portal gebaseerd op deze van Andy Beverly.

Voor de server is een HP Proliant Microserver gebruikt met extra netwerkkaart en remote access kaart.
Software is Debian Linux Squeeze met de volgende packages;
-squid 3.x
-nagios 3.x
-apache 2.x
-bind 9.x
-PHP5-xsl
-PHP5-xmlrpc
-conntrack
-iptraf
-dhcp3-server
-sudo
-ipset
-ipset-source
-module-assistant

Installatie is uitgevoerd volgens de beschrijving van Andy met uitzondering van het ADSL, firewall en sudo gedeelte. Er wordt alleen gebruik gemaakt van ethernet en filtering werkt op IP adres i.p.v. MAC adres. Verbindingen van de clients lopen over een bridge waarbij gebruik wordt gemaakt van MAC NAT zodat de registratie gebeurt met het MAC adres van de bridge i.p.v. de client.

In index.php wordt het stuk van controle mac adres gedeeltelijk vervangen;

global $mac;
global $ipadd;
$mac = shell_exec(“$arp -a “.$_SERVER[‘REMOTE_ADDR’]);
$ipadd = $_SERVER[‘REMOTE_ADDR’];
preg_match(‘/..:..:..:..:..:../’,$mac);
preg_match(‘/^([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3}/’,$ipadd,$matches);
@$mac = $matches[0];
@$ipadd = $matches[0];
//if (!isset($mac)) { exit; }
if (!isset($ipadd)) { exit; }

In users.php de wijziging voor iptables;

// validate any inputs
if (isset($_GET[‘ipadd’])) {
if (preg_match(‘/^([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3}\*?$/’,$_GET[‘ipadd’])) {
$ipadd = $_GET[‘ipadd’];
} else {
echo “<font color=’red’>Invalid IP address</font><br><br>”;
}
}

$userfile = “/var/lib/users”;

if (isset($_GET[‘action’]) && $ipadd) {
$ipadd = trim($ipadd,’*’);
if ($_GET[‘action’]==”block”) {
$users = file_get_contents($userfile);
if (!strpos($users,”$ipadd*”)) {
$users = str_replace($ipadd,$ipadd.”*”,$users);
file_put_contents($userfile,$users,LOCK_EX);
}
exec(“sudo iptables -D internet -t nat -s $ipadd -j RETURN”);
} elseif ($_GET[‘action’]==”unblock”) {
$users = file_get_contents($userfile);
if (strpos($users,”$ipadd*”)) {
$users = str_replace($ipadd.”*”,$ipadd,$users);
file_put_contents($userfile,$users,LOCK_EX);
exec(“sudo iptables -I internet 1 -t nat -s $ipadd -j RETURN”);
}
} elseif ($_GET[‘action’]==”delete”) {
$users = file_get_contents($userfile);
$users = preg_replace(“/\n.+$ipadd.*\n/”,”\n”,$users);
file_put_contents($userfile,$users,LOCK_EX);
exec(“sudo iptables -D internet -t nat -s $ipadd -j RETURN”);
} else {
echo “<font color=’red’>Invalid action requested</font><br><br>”;
}
}

In dit bestand moeten de verwijzingen naar $field[3] voor registratie in bestand /var/lib/users ook vervangen worden naar $field[2].

De wijziging voor sudo;

www-data ALL = NOPASSWD: /sbin/iptables -I internet 1 -t nat -s [0-9]*.[0-9]*.[0-9]*.[0-9]* -j RETURN
www-data ALL = NOPASSWD: /sbin/iptables -D internet -t nat -s [0-9]*.[0-9]*.[0-9]*.[0-9]* -j RETURN
www-data ALL = NOPASSWD: /usr/bin/rmtrack [0-9]*.[0-9]*.[0-9]*.[0-9]*

In het firewallscript wordt voor elk wireless netwerk apparaat de toegang opengezet;

$IPTABLES -t filter -A INPUT -i eth0 -s xxx.xxx.xxx.xxx -j ACCEPT

En het vullen van de internet chain gebeurt nu via de volgende regel;

awk ‘BEGIN { FS=”\t”; } { if ($3 !~ /\*/) { system(“‘$IPTABLES’ -t nat -A internet -s “$3″ -j RETURN”); } }’ /var/lib/users

Met deze portal kan op een simpele manier (draadloze) internet toegang worden gegeven aan gasten van o.a. campings, hotels, supermarkten met grotere parkeerplaatsen, festival terrreinen, etc..
(iPad is eventueel een uitzondering aangezien deze geen DHCP adres over een MAC bridge kan opvragen ten tijde van schrijven van deze post)

Meer info over onze modulaire opzet van draadloze netwerken zodat deze makkelijker uit te breiden zijn is te vinden op http://www.mbitz.nl/aanleg_wifi.html.

MBitZ modulaire wifi mast

MBitZ modulaire wifi mast

Written by mnystrom

2011/06/22 at 14:59

Asterisk met Cisco 7960 SIP telefoons

De stappen om Asterisk (FreePBX) aan de gang te krijgen met Cisco 7960 telefoons:

De oorspronkelijke installatie was FreePBX 1.7 waar in de tussentijd de upgrade via yum uit is gevoerd naar Asterisk versie 1.8.3.3. De versie 1.8.4 die op dit ogenblik via yum geïnstalleeerd kan worden heeft nog een bug waardoor de 9760 niet goed registreert op de server.
Om een eventuele downgrade uit te voeren moet wel de downgrade plugin voor yum geïnstalleerd zijn (yum install yum-allowdowngrade).

Om de lijst voor versie 1.8 te zien:  yum –showduplicates list asterisk18*
Downgrade alle packages 1 voor 1 die boven in de lijst bij installed packages staan met yum –allow-downgrade install asterisk18[-extra]-1.8.3.3-1.

De Cisco toestellen worden gebruikt met een POE switch, in dit geval een 3com Officeconnect met standaard Cat kabel. Niet elke POE switch is geschikt voor de Cisco’s, eerst testen of het werkt (het duurt wel een aantal seconden voordat de telefoon reageert op POE).

De toestellen hadden nog een oude firmware voor Cisco centrales erop staan, deze kon niet rechtstreeks naar de laatste SIP firmware dus de eerste stap was de upgrade naar versie 5, daarna de upgrade naar versie 8.
Dit wordt gedaan via de tftp server (in dit geval de Asterisk centrale). De diverse firmware versies kunnen hier gevonden worden.
In de root van de tftpserver komen dus de P0xx-xx-xx-xx bestanden te staan, en de bestanden OS79XX.TXT, SIPDefault.cnf, XMLDefault.cnf.xml.

In het OS79XX.TXT bestand staat de firmware versie die geladen moet worden door de telefoons, in het geval van de upgrade eerst naar versie 5 P003-05-0-00 (P00 is voor Cisco centrale (SCCP), P0S is de SIP firmware), daarna P0S-8-12-00 voor de upgrade van de laatste SIP firmware.

In SIPDefault.cnf staat de info voor de SIP verbinding naar de centrale;

image_version: P0S-xx-xx-xx (de firmware versie van de telefoons waar dit voor geldt)
proxy1_address: 123.123.123.123 (ip adres van de centrale)
proxy1_port: 5060 (de SIP poort)
proxy_register: 1

in XMLDefault.cnf.xml staat verdere info voor verbindingen naar centrale en firmware van de toestellen;

<Default>
<callManagerGroup>
<members>
<member priority=”0″>
<callManager>
<ports>
<ethernetPhonePort>2000</ethernetPhonePort>
<mgcpPorts>
<listen>2427</listen>
<keepAlive>2428</keepAlive>
</mgcpPorts>
</ports>
<processNodeName>123.123.123.123</processNodeName>
</callManager>
</member>
</members>
</callManagerGroup>
<loadInformation7 model=”Cisco 7960″>P0xx-xx-xx-xx</loadInformation7>
<directoryURL></directoryURL>
<idleURL></idleURL>
<informationURL></informationURL>
<messagesURL></messagesURL>
<servicesURL></servicesURL>
</Default>

Als alle toestellen de firmware versie 5 hebben (dit duurt wel even), dan kunnen de firmware bestanden van 5 vervangen worden door 8 en de verwijzingen  vervangen worden door P0S3-8-12-00.

Voor elke telefoon moet een SIP[mac adres].cnf bestand gemaakt worden. Welke het moet zijn is makkelijk te zien in de log van de tftp server op het moment dat het toestel opstart. Daarin moet in ieder geval de line1 gedefinieerd zijn die het toestel gebruikt;

line1_name: 21
line1_displayname: lijn_21
line1_shortname: lijn_21
line1_authname: 21
line1_password: lijn_21

Om het af te maken kunnen er nog de diverse ringtones in de root van de tftpserver geplaatst worden met omschrijving en bestandnaam in het bestand RINGLIST.DAT;

Ahh!            ahh.pcm
Doh!            doh.pcm
Old Style       ringer1.pcm
Synth Low       ringer2.pcm
Dungeon         ringer3.pcm
Lightbulb       ringer4.pcm
Synth High      ringer6.pcm
Are You There M AreYouThere.raw
Are You There F AreYouThereF.raw
etc…

Written by mnystrom

2011/06/10 at 17:15

Geplaatst in installatie, linux, MBitZ, software

Tagged with , , , , ,