ich habe auf meinem Home-Server nun endlich die Netzwerktopologie geändert.
Die eingerichteten Dienste funktionieren nun auch endlich (bisher zumindestens, da es noch keine Beschwerden gegeben hat).
Nun muss ich aber auch mein OpenVPN anpassen.
Zu meinem Netzwerk:
![Bild](http://www.daniel.dreissen.de/OpenVPN.jpeg)
Ich kann von meinem Client aus (debian lenny) über OpenVPN auf das Netzwerk zugreifen und auch Rechner (die eingeschaltet sind) anpingen. Pinge ich jedoch einen Drucker (IP-Adresse 192.168.1.12) aus dem Netz an, so erhalte ich keine Antwort. Vom Server selber bekomme ich eine Antwort.
Client im Internet:
Code: Alles auswählen
daniel@laptop:~/server$ ping -c3 192.168.1.99
PING 192.168.1.99 (192.168.1.99) 56(84) bytes of data.
64 bytes from 192.168.1.99: icmp_seq=1 ttl=64 time=107 ms
64 bytes from 192.168.1.99: icmp_seq=2 ttl=64 time=117 ms
64 bytes from 192.168.1.99: icmp_seq=3 ttl=64 time=108 ms
--- 192.168.1.99 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1998ms
rtt min/avg/max/mdev = 107.960/111.459/117.859/4.532 ms
daniel@laptop:~/server$ ping -c3 192.168.1.118
PING 192.168.1.118 (192.168.1.118) 56(84) bytes of data.
64 bytes from 192.168.1.118: icmp_seq=1 ttl=127 time=108 ms
64 bytes from 192.168.1.118: icmp_seq=2 ttl=127 time=108 ms
64 bytes from 192.168.1.118: icmp_seq=3 ttl=127 time=118 ms
--- 192.168.1.118 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1998ms
rtt min/avg/max/mdev = 108.050/111.896/118.907/4.979 ms
daniel@laptop:~/server$ ping -c3 192.168.1.12
PING 192.168.1.12 (192.168.1.12) 56(84) bytes of data.
--- 192.168.1.12 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2009ms
Code: Alles auswählen
daniel@homer:~$ ping -c3 192.168.1.12
PING 192.168.1.12 (192.168.1.12) 56(84) bytes of data.
64 bytes from 192.168.1.12: icmp_seq=1 ttl=255 time=0.908 ms
64 bytes from 192.168.1.12: icmp_seq=2 ttl=255 time=0.552 ms
64 bytes from 192.168.1.12: icmp_seq=3 ttl=255 time=0.578 ms
--- 192.168.1.12 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2000ms
rtt min/avg/max/mdev = 0.552/0.679/0.908/0.163 ms
Code: Alles auswählen
#!/bin/bash
#
# Autor : Daniel D.
# Version: 0.1
# Datum : 26.10.2008
#
# Dieses Skript lädt die Regeln für die Firewall
#
# Devices festlegen und IP-Adressen zuweisen
#
INET_IFACE=eth0 # IP-Adresse 192.168.2.98
LAN_IFACE=eth1 # IP-Adresse 192.168.1.99
INET_IP="192.168.2.98"
LAN_IP="192.168.1.99"
INET_NET="192.168.2.0/24"
LAN_NET="192.168.1.0/24"
TUN_IFACE=tun0
#
# Definiere einige Befehle
#
ECHO=$(which echo)
IPTABLES=$(which iptables)
SYSCTL=$(which sysctl)
MODPROBE=$(which modprobe)
#
# Verwerfe erstmal alles
#
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP
#
# Leere die Ketten
#
$IPTABLES -F
$IPTABLES -t nat -F
#$IPTABLES -t mangel -F
$IPTABLES -X
#
# Module laden
#
$MODPROBE ip_conntrack
$MODPROBE ip_nat
$MODPROBE ipt_REDIRECT
$MODPROBE ipt_MASQUERADE
$MODPROBE ipt_LOG
$MODPROBE ipt_recent
#
# Kernelparameter setzen
#
$ECHO "1" > /proc/sys/net/ipv4/ip_forward
# Alternativ
# $SYSCTL -w net.ipv4.ip_forward=1
#
# Die Regeln
#
# Akzeptiere alle Pakete, die Teil einer aufgebauten Verbindung sind
$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Akzeptiere Verbindungsaufbauten von innen
$IPTABLES -A FORWARD -i $LAN_IFACE -o $INET_IFACE -m state --state NEW -j ACCEPT
# Loopback erlauben
$IPTABLES -A INPUT -i lo -j ACCEPT
$IPTABLES -A OUTPUT -o lo -j ACCEPT
# Zugriff auf den SSH-Server (Port 22) aus dem Internet erlauben
#$IPTABLES -A INPUT -i $INET_IFACE -p tcp --dport 22 -m state --state NEW -m recent --set --name SSH -j ACCEPT
#$IPTABLES -A INPUT -i $INET_IFACE -p tcp --dport 22 -m recent --update --seconds 600 --hitcount 4 --rttl --name SSH -j LOG --log-prefix "SSH_brute_force "
#$IPTABLES -A INPUT -i $INET_IFACE -p tcp --dport 22 -m recent --update --seconds 600 --hitcount 4 --rttl --name SSH -j DROP
#$IPTABLES -A OUTPUT -o $INET_IFACE -p tcp --sport 22 -j ACCEPT
$IPTABLES -A INPUT -i $INET_IFACE -p tcp --dport 22 -m hashlimit --hashlimit 1/min --hashlimit-mode srcip --hashlimit-name SSH -m state --state NEW -j ACCEPT
# Zugriff auf den SSH-Server (Port 22) vom LAN_IFACE aus erlauben
#$IPTABLES -A INPUT -i $LAN_IFACE -p tcp --dport 22 -m state --state NEW -j ACCEPT
# ICMP-Pakete (z.B. pingen) erlauben
$IPTABLES -A FORWARD -s $LAN_NET -p icmp -m state --state NEW -j ACCEPT
# Squid-Proxy benutzen
$IPTABLES -t nat -A PREROUTING -i $LAN_IFACE -p tcp --dport 80 -j REDIRECT --to-port 3128
$IPTABLES -A INPUT -i $LAN_IFACE -p tcp -s $LAN_NET --dport 3128 -m state --state NEW -j ACCEPT
$IPTABLES -A OUTPUT -o $INET_IFACE -m state --state NEW -j ACCEPT
# Maskiere alle Pakete bei der Weiterleitung nach außen
$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -j MASQUERADE
# Alles vom LAN zum Server ($LAN_IFACE) erlauben und umgekehrt
$IPTABLES -A INPUT -i $LAN_IFACE -s $LAN_NET -j ACCEPT
$IPTABLES -A OUTPUT -o $LAN_IFACE -d $LAN_NET -j ACCEPT
# OpenVPN
TUN="tun0"
TUN_NET="10.8.0.0/24"
$IPTABLES -A INPUT -i $INET_IFACE -p udp --dport 443 -m state --state NEW -j ACCEPT
$IPTABLES -A OUTPUT -o $INET_IFACE -p udp --sport 443 -j ACCEPT
$IPTABLES -A INPUT -i $TUN -s $TUN_NET -j ACCEPT
$IPTABLES -A OUTPUT -o $TUN -d $TUN_NET -j ACCEPT
$IPTABLES -A FORWARD -i $TUN -o $LAN_IFACE -j ACCEPT
$IPTABLES -A FORWARD -o $TUN -i $LAN_IFACE -j ACCEPT
Habe ich eventuell noch einen Fehler in meiner Konfiguration???