OpenVPN bridge Clients können Lan nicht erreichen und umgekehrt
Hallo Leute,
ich habe ein Problem mit meiner iptablers firewall,
ich habe z.H. einen pc mit debian drauf, 2 netzwerkkarten, eine am dsl eine am lan.
Dieser funktiert als firewall, router/gateway dhcp, dns für mein Lan (192.168.1.0/24) und soll auch als OpenVpn server als bridge laufen um mit Freunden Lan games übers inet zu zocken z.B. FlaOut 2 , C&C etc. Die OpenVpn clients haben alle unterschiedliche Netze wie 192.168.0.0/24, 192.168.2.0/24, 192.168.3.0/24 etc.
Die clients können sich zum server connecten, bekommen auch ene ip aus meinem lan zugewiesen, können sich untereinander und den server pingen aber nicht die PCs in meinem Lan. Umgekehrt, der server und auch meine pcs im lan können die clients nicht pingen.
Ich bin mir ziehmlich sicher das es an der iptables firewall liegt denn die routen etc. stimmen alle. Könnte sich jemand vielleicht mal bitte mein firewall sript anschauen wo das problem liegen könnte denn ich bin so langsam echt am verzweifeln.
Hier nochmal die anforderungen :
mein Lan darf eigentlich alles bis auf windows shares, netbios etc über internet oder übers vpn wegschicken oder empfangen.
die vpn clients dürfen auf mein Lan zugreifen und umgekehrt
aber vpn clients dürfen keine windows shares, netbios etc. wegschicken oder empfangen.
und vpn clients dürfen nicht über mein Lan aufs internet zugreifen können.
meine server interfaces :
LAN : eth0
Bridge : br0
TAP : tap0...tapN
WAN : eth1 bzw. ppp0
hier die interessanten Teile meines scripts :
thx Grobi
...zur vollständigkeit hie noch die scripts für die tap devices und die openvpn server.conf
up.sh
down.sh :
/etc/network/interfaces:
OpenVPN server.conf :
Hallo Leute,
ich habe ein Problem mit meiner iptablers firewall,
ich habe z.H. einen pc mit debian drauf, 2 netzwerkkarten, eine am dsl eine am lan.
Dieser funktiert als firewall, router/gateway dhcp, dns für mein Lan (192.168.1.0/24) und soll auch als OpenVpn server als bridge laufen um mit Freunden Lan games übers inet zu zocken z.B. FlaOut 2 , C&C etc. Die OpenVpn clients haben alle unterschiedliche Netze wie 192.168.0.0/24, 192.168.2.0/24, 192.168.3.0/24 etc.
Die clients können sich zum server connecten, bekommen auch ene ip aus meinem lan zugewiesen, können sich untereinander und den server pingen aber nicht die PCs in meinem Lan. Umgekehrt, der server und auch meine pcs im lan können die clients nicht pingen.
Ich bin mir ziehmlich sicher das es an der iptables firewall liegt denn die routen etc. stimmen alle. Könnte sich jemand vielleicht mal bitte mein firewall sript anschauen wo das problem liegen könnte denn ich bin so langsam echt am verzweifeln.
Hier nochmal die anforderungen :
mein Lan darf eigentlich alles bis auf windows shares, netbios etc über internet oder übers vpn wegschicken oder empfangen.
die vpn clients dürfen auf mein Lan zugreifen und umgekehrt
aber vpn clients dürfen keine windows shares, netbios etc. wegschicken oder empfangen.
und vpn clients dürfen nicht über mein Lan aufs internet zugreifen können.
meine server interfaces :
LAN : eth0
Bridge : br0
TAP : tap0...tapN
WAN : eth1 bzw. ppp0
hier die interessanten Teile meines scripts :
Code:
# The iptables command. Shorter and sure.
ipt="/sbin/iptables"
# The network interface.
ifWan=ppp0
ifVpnB=br0
ifVpn=tap+
VPN_PORT=1195
##### FIREWALL STOP ##########
...
##### FIREWALL START/RELOAD/RESTART ##########
echo "Building firewall..."
# Modules
modprobe ip_tables
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ipt_MASQUERADE
modprobe ipt_state
modprobe ipt_LOG
modprobe iptable_nat
modprobe iptable_filter
# Flush current rules.
$ipt -F INPUT
$ipt -F OUTPUT
$ipt -F FORWARD
$ipt -t nat -F PREROUTING
$ipt -t nat -F POSTROUTING
$ipt -t nat -F OUTPUT
$ipt -F
$ipt -X
# Set default policies;
$ipt --policy INPUT DROP
$ipt --policy OUTPUT ACCEPT
$ipt --policy FORWARD DROP
$ipt -t nat --policy PREROUTING ACCEPT
$ipt -t nat --policy POSTROUTING ACCEPT
# SYN flood protection
echo "1" > /proc/sys/net/ipv4/tcp_syncookies
# Forwarding
echo "1" > /proc/sys/net/ipv4/ip_forward
### LOOPBACK ###
echo "Setting LOOPBACK rules"
$ipt -A INPUT -i lo -j ACCEPT
$ipt -A OUTPUT -o lo -j ACCEPT
### WAN ###
echo "Setting WAN rules"
$ipt -A INPUT -i $ifWan -p udp --dport $VPN_PORT -m state --state NEW -j ACCEPT
$ipt -A INPUT -p tcp --dport 137:139 -i $ifWan -j DROP
$ipt -A INPUT -p udp --dport 137:139 -i $ifWan -j DROP
$ipt -A INPUT -p tcp --dport 445 -i $ifWan -j DROP
$ipt -A INPUT -p udp --dport 445 -i $ifWan -j DROP
$ipt -A INPUT -i $ifWan -j ACCEPT
$ipt -A OUTPUT -p tcp --dport 137:139 -o $ifWan -j DROP
$ipt -A OUTPUT -p udp --dport 137:139 -o $ifWan -j DROP
$ipt -A OUTPUT -p tcp --dport 445 -o $ifWan -j DROP
$ipt -A OUTPUT -p udp --dport 445 -o $ifWan -j DROP
$ipt -A OUTPUT -o $ifWan -j ACCEPT
$ipt -A FORWARD -p tcp --dport 137:139 -o $ifWan -j DROP
$ipt -A FORWARD -p udp --dport 137:139 -o $ifWan -j DROP
$ipt -A FORWARD -p tcp --dport 445 -o $ifWan -j DROP
$ipt -A FORWARD -p udp --dport 445 -o $ifWan -j DROP
$ipt -A FORWARD -i $ifWan -o $ifVpnB -j ACCEPT
$ipt -A FORWARD -i $ifWan -o $ifVpn -j ACCEPT
### VPN ###
echo "Setting VPN rules"
$ipt -A INPUT -i $ifVpn -j ACCEPT
$ipt -A OUTPUT -o $ifVpn -j ACCEPT
$ipt -A FORWARD -i $ifVpn -o $ifWan -j ACCEPT
$ipt -A FORWARD -i $ifVpn -o $ifVpnB -j ACCEPT
### BRIDGE ###
echo "Setting BRIDGE rules"
$ipt -A INPUT -i $ifVpnB -j ACCEPT
$ipt -A OUTPUT -o $ifVpnB -j ACCEPT
$ipt -A FORWARD -i $ifVpnB -o $ifWan -j ACCEPT
$ipt -A FORWARD -i $ifVpnB -o $ifVpn -j ACCEPT
# Portforwarding
...
# Masquerading
$ipt -t nat -A POSTROUTING -j MASQUERADE
echo "Done!"
thx Grobi
...zur vollständigkeit hie noch die scripts für die tap devices und die openvpn server.conf
up.sh
Code:
#! /bin/sh
BR=$1
DEV=$2
MTU=$3
/sbin/ifconfig $DEV mtu $MTU promisc up
/usr/sbin/brctl addif $BR $DEV
down.sh :
Code:
#! /bin/sh
BR=$1
DEV=$2
/usr/sbin/brctl delif $BR $DEV
/sbin/ifconfig $DEV down
/etc/network/interfaces:
Code:
auto br0
iface br0 inet static
address 192.168.1.1
netmask 255.255.255.0
broadcast 192.168.1.255
network 192.168.1.0
bridge_ports eth0
auto eth0
iface eth0 inet manual
up ifconfig $IFACE 0.0.0.0 up
up ip link set $IFACE promisc on
down ip link set $IFACE promisc off
down ifconfig $IFACE down
auto eth1
iface eth1 inet manual
OpenVPN server.conf :
Code:
port 1195
proto udp
tun-mtu 1500
mode server
tls-server
dev tap
--script-security 2
up "/etc/openvpn/up.sh br0"
down "/etc/openvpn/down.sh br0"
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/server.crt
key /etc/openvpn/keys/server.key # This file should be kept secret
dh /etc/openvpn/keys/dh1024.pem
server-bridge 192.168.1.1 255.255.255.0 192.168.1.129 192.168.1.254
ifconfig-pool-persist ipp.txt
client-to-client
# publish server network to clients
push "route 192.168.1.0 255.255.255.0"
keepalive 10 120
tls-auth /etc/openvpn/keys/ta.key 0 # This file is secret
cipher BF-CBC # Blowfish (default)
comp-lzo
max-clients 10
client-config-dir ccd
#user nobody
#group nogroup
persist-key
persist-tun
status openvpn-status.log
log-append openvpn.log
verb 5
Zuletzt bearbeitet: