Difference between revisions of "Router"
(→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
Contents
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.