Ik heb een Ubuntu servertje in de meterkast staan die sinds kort ook als router dient. Ik heb dit voor elkaar gekregen door er een twee NIC in te zetten en via masquerading NAT te configureren. Er draait tevens een DHCP servertje op die de clients voorziet van een ipadres uit de "local pool" en gegevens als gateway, etc. Dit werkt allemaal erg goed moet ik zetten. Ook hartstikke tof om "zelf" zoiets te maken, i.p.v. een standaard router te kopen.
Met de volgende iptables configuratie zorg ik ervoor dat de clients in mijn netwerk via de server kunnen internetten
Voor de rest heb ik dus helemaal GEEN andere regels o.i.d. Dit lijkt me niet echt de bedoeling. De server an sich doet -naast spelen voor router ;)- nog een aantal andere taken zoals web (80), ssh (22), dropbox, etc. Nu vroeg ik mij af hoe ik middels iptables de server zo kan configureren dat het allemaal een beetje veilig is. De lokale clients vertrouw ik 100%. Hoe pak ik dit aan? Wat ik functioneel wil is volgens mij het volgende:
code:
1
2
| eth0 --> static adres: 192.168.1.1. Deze is verbonden met de switch eth1 --> DHCP, krijgt ipadres van UPC modem |
Met de volgende iptables configuratie zorg ik ervoor dat de clients in mijn netwerk via de server kunnen internetten
code:
1
2
3
4
| sudo iptables -A FORWARD -o eth1 -i eth0 -s 192.168.1.0/24 -m conntrack --ctstate NEW -j ACCEPT sudo iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT sudo iptables -t nat -F POSTROUTING sudo iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE |
Voor de rest heb ik dus helemaal GEEN andere regels o.i.d. Dit lijkt me niet echt de bedoeling. De server an sich doet -naast spelen voor router ;)- nog een aantal andere taken zoals web (80), ssh (22), dropbox, etc. Nu vroeg ik mij af hoe ik middels iptables de server zo kan configureren dat het allemaal een beetje veilig is. De lokale clients vertrouw ik 100%. Hoe pak ik dit aan? Wat ik functioneel wil is volgens mij het volgende:
- Al het verkeer van buitanaf (dus op eth1) blokkeren
- Interne computers (op eth0) moeten wel normaal kunnen internetten; deze hoeven volgens mij geen restricties opgelegd krijgen
- Verkeer op poort 80 moet wel mogelijk zijn; Apache draait er immers op
- SSH verkeer op 22 moet mogelijk zijn