Difference between revisions of "Router"

From A-Eskwiki
Jump to: navigation, search
(Port Forward)
(Firewall)
Line 6: Line 6:
 
==Firewall==
 
==Firewall==
 
Voor de firewall maken we gebruik van [http://shorewall.net/ shorewall]. De config is terug te vinden in [[salt]], en in /etc/shorewall op [[Ernst]] en [[oclaude]] zelf. Shorewall zorgt voor de iptables regels die de daadwerkelijke firewall vormen.
 
Voor de firewall maken we gebruik van [http://shorewall.net/ shorewall]. De config is terug te vinden in [[salt]], en in /etc/shorewall op [[Ernst]] en [[oclaude]] zelf. Shorewall zorgt voor de iptables regels die de daadwerkelijke firewall vormen.
 +
 +
===Zones===
 +
Een firewall bestaat uit meerdere zones. Deze zijn er om onderscheid te maken tussen verschillende bronnen/bestemmingen. Op dit moment maken we gebruik van de zones firewall(fw), extern(ext) en intern(int). Het is ook mogelijk om zones binnen een zone aan te maken zoals voor virtuele machines(vm) die binnen de interne zone zitten, echter gebruiken we deze nog niet. De configuratie voor de zones is te vinden in /etc/shorewall/zones. Een voorbeeld zoals deze op het moment van schrijven staat ingesteld:
 +
#{zone} {type}
 +
  fw    firewall
 +
  ext    ipv4
 +
  int    ipv4
 +
  vm:int ipv4
 +
 +
===Interfaces===
 +
De interfaces van de router zijn in te stellen in /etc/shorewall/interfaces. Hierbij maken we onderscheid tussen intern(int) en extern(ext). Een voorbeeld zoals deze op [[oclaude]] staat ingesteld:
 +
#{zone} {interface} {opties}
 +
  ext    enp4s0      blacklist,norfc1918
 +
  int    enp3s0      dhcp,routeback
 +
 +
===Variabelen===
 +
Voor het gemak zijn er in shorewall enkel variabelen te gebruiken. Deze variabelen zijn in te stellen in /ets/shorewall/params. Bijvoorbeeld voor vm-mail:
 +
#{naam}={waarde}
 +
  VM_MAIL=10.14.3.6
  
 
==Port Forward==
 
==Port Forward==

Revision as of 14:10, 6 May 2015


Router

De router is de spin in ons netwerk. Hij bepaalt welke diensten beschikbaar zijn en hoe je die kunt benaderen. Hierbij is de router verantwoordelijk voor het afhandelen van al het inkomende en uitgaande dataverkeer van A-Eskwadraat. Op het moment zijn Ernst en oclaude de huidige routers.

Firewall

Voor de firewall maken we gebruik van shorewall. De config is terug te vinden in salt, en in /etc/shorewall op Ernst en oclaude zelf. Shorewall zorgt voor de iptables regels die de daadwerkelijke firewall vormen.

Zones

Een firewall bestaat uit meerdere zones. Deze zijn er om onderscheid te maken tussen verschillende bronnen/bestemmingen. Op dit moment maken we gebruik van de zones firewall(fw), extern(ext) en intern(int). Het is ook mogelijk om zones binnen een zone aan te maken zoals voor virtuele machines(vm) die binnen de interne zone zitten, echter gebruiken we deze nog niet. De configuratie voor de zones is te vinden in /etc/shorewall/zones. Een voorbeeld zoals deze op het moment van schrijven staat ingesteld:

#{zone} {type}
 fw     firewall
 ext    ipv4
 int    ipv4
 vm:int ipv4

Interfaces

De interfaces van de router zijn in te stellen in /etc/shorewall/interfaces. Hierbij maken we onderscheid tussen intern(int) en extern(ext). Een voorbeeld zoals deze op oclaude staat ingesteld:

#{zone} {interface} {opties}
 ext    enp4s0      blacklist,norfc1918
 int    enp3s0      dhcp,routeback

Variabelen

Voor het gemak zijn er in shorewall enkel variabelen te gebruiken. Deze variabelen zijn in te stellen in /ets/shorewall/params. Bijvoorbeeld voor vm-mail:

#{naam}={waarde}
 VM_MAIL=10.14.3.6

Port Forward

De port forwards worden door de firewall geregeld in /etc/shorewall/rules. Deze file bevat alle speciale regels, waar port forwards dus ook toe behoren. Een portforward bestaat uit 2 regels, namelijk een regel voor verkeer afkomstig van het internet en een regel voor verkeer afkomstig van het interne netwerk. Daarnaast is er voor verkeer afkomstig van het interne netwerk een speciale masq regel nodig, welke ervoor zorgt dat het verkeer via de router loopt in plaats van direct.

Extern voorbeeld

Voorbeeld regel voor externe forward in /etc/shorewall/rules, hierbij wordt de externe tcp-poort 25 doorgestuurd naar poort 25 van vm-mail:

#{soort} {bron} {bestemming}    {tcp/udp} {inkomende poort}
 DNAT    ext    int:$vm-mail:25 tcp       25

Intern voorbeeld

Voorbeeld regel voor interne forward in /etc/shorewall/rules, hierbij wordt de interne tcp-poort 25 doorgestuurd naar poort 25 van vm-mail, hierbij wordt de bron van het pakket omgezet naar de het externe ip van de router:

#{soort} {bron} {bestemming}    {tcp/udp} {inkomende poort} {bron poort} {bron}
 DNAT    int    int:$vm-mail:25 tcp       25                -            $EXT_IP_VIRT

Om wijziging van de bron van het pakket te laten werken moet er ook een overeenkomstige regel aangemaakt worden /etc/shorewall/masq:

#{interface:bestemming} {oorsprong} {bron}        {tcp/udp} {poort}
 enp3s0:$VM_MAIL        $INT_RANGE  $EXT_IP_VIRT  tcp       25

Reverse Proxy

De reverse proxy zorgt ervoor dat bezoekers van de websites, die gehost worden bij A-Eskwadraat, terecht komen op de juiste webserver. We gebruiken hiervoor squid. Iedere webserver heeft een aparte file voor de configuratie.

Yum Cache