Wünsche
Markus meint:
Proxy auf Gateway-Server für alle PC´s im Netzwerk aufsetzen und darüber per Masquerading/Firewall TCP/IP-Zugriff auf einen "virtuell-externen" Server(z.B. Apache - nicht im Netzwerk, soz. als Mini-Internet) ermöglichen. Apache müßte relativ schnell auf einem Linux-PC zum Laufen zu bringen sein. Der wird halt vom Netzwerk abgekoppelt, erhält seine feste IP-Adresse. Der Squid auf dem Gatewayrechner, sowie dessen IP-Konfiguration können ja zunächst mal ohne Firewall aufgesetzt werden, um die Konfiguration zum Laufen zu bringen. Anschließend müßten dann die Firewall installiert und Masquerading-Regeln festgelegt werden. Naja, so irgendwie stell ich mir das ganze vor...
Keskin meint:
Eine Win 2003 Domäne ins Internet routen. Sprich das ganze Aktive Directory mit dem Linux Server Routen DNS Auflösung Mit Linux http://www.orgdns.org/ Mailgateway Firewall Basis mit Funktionen. VPN SERVER bei Linux.... Szenario Eine Vorhandene Domäne mit einem Exchange Server mit einem Linux Kiste Online machen.
Ziele
Dies soll der Rechner leisten:
- Masquarading Firewall für das lokale Netzwerk 192.168.0.0
- Transparent Proxying, d.h. alle Anfragen mit destport 80 werden an Proxy weitergeleitet (squid)
siehe Unterseite von PaketFilter
- Squid läuft selbst nicht in einem Cache-Netz (kein Elter, keine Kinder, keine Geschwister)
- Selbst Serverdienste im Internet zur Verfügung stellen:
- Port Forwarding (Virtuelle Ports)
Dynamic DNS mit http://www.orgdns.org/ oder http://www.dyndns.org/ (Theorie)
Keine Ziele
Das muss der Rechner nicht können:
- VPN (zu viel Aufwand für den einen Tag)
- Mailserver (macht das Samba-Team evtl. kann aber "durchgeleitet werden mit port forwarding)
Wir verwenden keine spezielle Linux-Distribution wie fli4l oder ipcop.org (vgl. FireWall).
Umsetzung
Situation:
Schritte zur Umsetzung:
- Prüfen ob Squid bereits installiert mit: rpm -q squid
- Squid installieren entweder mit: Yast2, Yast, Webbrowser Konqueror, Kommandozeile;
Anleitung für Kommandozeile: Datei auf lokalen Rechner kopieren mit: wget 192.168.1.1/suse/suse/i586/squid-2.5.STABLE3-93.i586.rpm Installieren mit: rpm -i squid-2.5.STABLE3-93.i586.rpm
- Squid konfigurieren (in /etc/squid/squid.conf)
Port auf Benutzerdefinierte Einstellung setzen: "http_port 8080" (Default war 3128) Zugriffsrechte für LAN definieren: "acl our_networks src 192.168.1.0/24" Zugriffsrechte für LAN aktivieren: "http_access allow our_networks"
- verbindung zu Nameserver einrichten
/etc/resolv.conf editieren: "nameserver 3.5.7.9" und "search local" hinzufügen
- Routing für Netzwerkkarten eth1 (eth0 Netzwerkkarte ist bereits auf 192.168.1.100 konfiguriert)
ifconfig eth1 down ifconfig eth1 3.5.7.9 ifconfig und route -n zum abfragen der Konfiguration
- Squid starten:
rcsquid start rcsquid status # schauen ob er wirklich läuft
- Client Browser für Proxyzugriff konfigurieren
- (Einstellungen/Proxy/IP-Adresse/Port 8080)
dnsmasq auf Router installieren und bei den anderen Rechnern im Netz als Nameserver eintragen. (Fungiert z.B. auch als DHCP-Server!).
- Masquerading aktivieren (Aufruf vom Script mit "source [Dateiname]")
EXTIF="eth1" INTIF="eth0" echo " External Interface: $EXTIF" echo " Internal Interface: $INTIF" #routing aktivieren echo 1 > /proc/sys/net/ipv4/ip_forward # Standard-Regeln iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP #Alte Regeln Löschen iptables -F iptables -t nat -F ## Forwarding erlauben # Virtuellen Server durchlassen iptables -A FORWARD -i $EXTIF -o $INTIF --dst 192.168.1.5 -p tcp --dport 80 -j ACCEPT iptables -A FORWARD -i $EXTIF -o $INTIF -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -i $INTIF -o $EXTIF -j ACCEPT iptables -A FORWARD -j LOG #Virtuellen Server weiterleiten iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.5:80 #Masquerading aktiviern iptables -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE
Links und Literatur
Die Hompage der Linux-Firewall-Systeme: http://www.netfilter.org/
Firewall-HOWTO (http://www.tldp.org/HOWTO/Firewall-HOWTO.html)
IP-Masquerade-HOWTO (http://www.tldp.org/HOWTO/IP-Masquerade-HOWTO/index.html)
Masquerading Made Simple HOWTO (http://www.tldp.org/HOWTO/Masquerading-Simple-HOWTO/index.html)
http://www.yolinux.com/TUTORIALS/LinuxTutorialIptablesNetworkGateway.html
http://iptables-tutorial.frozentux.net/iptables-tutorial.html
zu Dynamic DNS siehe NameServer