Tunnel HNA mit OpenWrt White Russian: Unterschied zwischen den Versionen
Kwm (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung  | 
				Kwm (Diskussion | Beiträge)  Keine Bearbeitungszusammenfassung  | 
				||
| Zeile 1: | Zeile 1: | ||
'''Diese Beschreibung geht davon aus, das auf Deinem Router [http://www.freifunk-halle.net/firmware/v1.6/images/stable/hna/ OpenWrt White Russian] in der verlinkten Version installiert ist.    | '''Diese Beschreibung geht davon aus, das auf Deinem Router [http://www.freifunk-halle.net/firmware/v1.6/images/stable/hna/ OpenWrt White Russian] in der verlinkten Version installiert ist.    | ||
Sowie ein VPN-Tunnel zum  VPN-1-Server  [http://104.62.1.129 104.62.1.129] [http://freifunk-halle.net freifunk-halle.net] und zum VPN-2-Server [http://104.62.4.1 104.62.4.1] [http://93.190.93.47 93.190.93.47] besteht.'''  | Sowie ein VPN-Tunnel zum     | ||
VPN-1-Server  [http://104.62.1.129 104.62.1.129] bzw. [http://freifunk-halle.net freifunk-halle.net] und zum    | |||
VPN-2-Server [http://104.62.4.1 104.62.4.1] bzw. [http://93.190.93.47 93.190.93.47] besteht.'''  | |||
Nach den Änderungen musst Du Deinen Router neu starten.    | Nach den Änderungen musst Du Deinen Router neu starten.    | ||
| Zeile 8: | Zeile 13: | ||
'''1. WAN-Default-Route''' entfernen in den Einstellungen WAN    | '''1. OLSR Linkqualität''' für beide Gateway einstellen.  | ||
<pre>  | |||
</pre>  | |||
'''2. WAN-Default-Route''' entfernen in den Einstellungen WAN    | |||
<pre>  | <pre>  | ||
| Zeile 23: | Zeile 35: | ||
'''  | '''3. Statische Routen setzen''' im Bereich LAN  | ||
<pre>85.214.81.232:255.255.255.255:x.x.x.x:0:vlan1 93.190.93.47:255.255.255.255:x.x.x.x:0:vlan1    | <pre>85.214.81.232:255.255.255.255:x.x.x.x:0:vlan1 93.190.93.47:255.255.255.255:x.x.x.x:0:vlan1    | ||
| Zeile 43: | Zeile 55: | ||
'''  | '''4. ändern der Firewall''' /etc/'''local.fw''' und noch dises '''104.62.X.X''' auf Deine Node-IP-Adresse ändern.  | ||
<pre>  | <pre>  | ||
| Zeile 78: | Zeile 90: | ||
'''  | '''5. ändern der DNS-Abfrage''' /etc/init.d/'''S60dnsmasq''' ''(S = starten | Zahl = Startreihenfolge)''  | ||
<pre>  | <pre>  | ||
| Zeile 250: | Zeile 262: | ||
'''  | '''6. ändern der Zeit-Abfrage''' /etc/init.d/'''S92rdate''' ''(S = starten | Zahl = Startreihenfolge)''  | ||
<pre>  | <pre>  | ||
Version vom 31. Mai 2013, 16:28 Uhr
Diese Beschreibung geht davon aus, das auf Deinem Router OpenWrt White Russian in der verlinkten Version installiert ist.
Sowie ein VPN-Tunnel zum
VPN-1-Server 104.62.1.129 bzw. freifunk-halle.net und zum
VPN-2-Server 104.62.4.1 bzw. 93.190.93.47 besteht.
Nach den Änderungen musst Du Deinen Router neu starten. 
Zum Testen auf dem Router einloggen (z.B. PuTTY) und dann traceroute google.com eingeben.
1. OLSR Linkqualität für beide Gateway einstellen.
2. WAN-Default-Route entfernen in den Einstellungen WAN 
Verwaltung: WAN WAN-Protokoll: WAN IP eintragen WAN-Netzmaske: Netzmaske eintragen WAN-Default-Route: hier nichts eintragen!
Wenn in den WAN-Einstellungen die WAN-Default-Route nicht entfernt ist, geht der Internetverkehr wie bisher direkt ins Internet. Mit Eintrag WAN-Default-Route ist also alles wie bisher. Ohne diesen Eintrag und mit den hier beschriebenen Änderungen geht der Internetverkehr über den VPN-Server ins Internet. Sollte der VPN-Server oder der Tunnel nach Schweden mal ausfallen, gibt es dann keinen Internetverkehr. Wir suchen noch nach einer Lösung für einen zweiten VPN-Server mit einem Tunnel.
3. Statische Routen setzen im Bereich LAN
85.214.81.232:255.255.255.255:x.x.x.x:0:vlan1 93.190.93.47:255.255.255.255:x.x.x.x:0:vlan1 192.53.103.108:255.255.255.255:x.x.x.x:0:vlan1 192.53.103.104:255.255.255.255:x.x.x.x:0:vlan1 128.138.140.44:255.255.255.255:x.x.x.x:0:vlan1 8.8.8.8:255.255.255.255:x.x.x.x:0:vlan1
x.x.x.x ist durch die IP zu ersetzen, welche vorher bei WAN bei WAN-Default-Route stand.
vlan1 ist in der Regel der WANPORT des Routers. Ist bei Deinem Gerät der WANPORT nicht vlan1, dann gib den entsprechenden Port an.
Die 1 Route zeigt zum halleschen VPN-1-Server freifunk-halle.net,
die 2 Route zeigt zum halleschen VPN-2-Server 93.190.93.47,
die 3, 4, 5 Route zeigt auf einen Zeit-Server,
die 6 Route zeigt auf einen DNS-Server.
4. ändern der Firewall /etc/local.fw und noch dises 104.62.X.X auf Deine Node-IP-Adresse ändern.
#!/bin/sh # Place your firewall addons here or use /etc/local.fw-xxx #MACS="00:00:01:00:00:01 0c:68:0b:02:a3:1e" case $1 in start) for i in $MACS; do # You can also add "-I INPUT", but it is sufficient # to block forwarding, since the delinquent will get # the routing but no (internet) connectivity. iptables -I FORWARD -m mac --mac-source $i -j DROP done iptables -I INPUT -i tap+ -j ACCEPT iptables -I OUTPUT -o tap+ -j ACCEPT iptables -I FORWARD -i tap+ -j ACCEPT iptables -I FORWARD -o tap+ -j ACCEPT iptables -I POSTROUTING -t nat -o tap+ -s 192.168.1.0/24 -j SNAT --to-source 104.62.X.X ;; stop) for i in $MACS; do iptables -D FORWARD -m mac --mac-source $i -j DROP done ;; esac
5. ändern der DNS-Abfrage /etc/init.d/S60dnsmasq (S = starten | Zahl = Startreihenfolge)
#!/bin/sh
. /etc/functions.sh
write_config()
{
	WAN_DOMAIN_LOCAL=
	WAN_DOMAIN_DOMAIN=
	test -n "$WAN_DOMAIN" && WAN_DOMAIN_LOCAL="local=/.$WAN_DOMAIN/"
	test -n "$WAN_DOMAIN" && WAN_DOMAIN_DOMAIN="domain=$WAN_DOMAIN"
	cat>/var/etc/dnsmasq.conf<<EOF
# filter what we send upstream
#domain-needed
bogus-priv
filterwin2k
# To speed up ssh, all lookups throug dnsmasq
no-resolv
# allow /etc/hosts and dhcp lookups via *.lan
addn-hosts=/etc/local.hosts
$WAN_DOMAIN_LOCAL
$WAN_DOMAIN_DOMAIN
expand-hosts
##############################################
# new ff root server ips (intranet)
##############################################
server=104.62.28.36
server=104.62.28.35
server=104.62.2.131
server=104.62.16.1
server=104.62.16.37
##############################################
# new ff root server ips (internet)
##############################################
server=85.214.81.232
server=81.10.154.38
server=93.190.93.47
##############################################
# reverse dns
##############################################
server=8.8.8.8
server=8.8.4.4
##############################################
EOF
	IFS=\;
	for i in $WAN_DNS;do
		echo "server=$i">>/var/etc/dnsmasq.conf
	done
	unset IFS
	if [ -z "$WANOLSR" ]; then
		cat>>/var/etc/dnsmasq.conf<<EOF
# no dns queries from the wan
except-interface=$(nvram get wan_ifname)
EOF
	fi
	DHCPEND=$(nvram get dhcp_num)
	test -z "$DHCPEND" && DHCPEND=4
	if [ $DHCPEND -gt 0 ]; then
		DHCPLEASE=$(nvram get dhcp_lease)
		test -z "$DHCPLEASE" && DHCPLEASE=12h
		test "$DHCPLEASE" = "0" && DHCPLEASE=12h
		DHCPNET=$(echo $LANNET|cut -d'.' -f1-3)
		DHCPBEG=$(nvram get dhcp_start)
		DHCPBEG=${DHCPBEG##*.}
		test -z "$DHCPBEG" && DHCPBEG=100
		DHCPEND=$(( $DHCPBEG + $DHCPEND - 1 ))
		echo "dhcp-range=wired,$DHCPNET.$DHCPBEG,$DHCPNET.$DHCPEND,$LANMSK,$DHCPLEASE">>/var/etc/dnsmasq.conf
	else
		echo "no-dhcp-interface=$(nvram get lan_ifname)">>/var/etc/dnsmasq.conf
	fi
	WLDHCP=$(nvram get ff_wldhcp)
	IFS=\;
	for ENT in $WLDHCP; do
		NET=${ENT%[:,]*}
		MSK=${ENT#*[:,]}
		if [ -n "$NET" ] && [ -n "$MSK" ]; then
			DHCPLEASE=30m
			DHCPBEG=$(ipcalc -n $NET|cut -d'.' -f4)
			#DHCPBEG=$(( $DHCPBEG + 2 ))
			DHCPEND=$(ipcalc -b $NET|cut -d'.' -f4)
			#DHCPEND=$(( $DHCPEND - 1 ))
			DHCPNET=$(ipcalc -n $NET|cut -d'=' -f2|cut -d'.' -f1-3)
			echo "dhcp-range=wlnat,$DHCPNET.$DHCPBEG,$DHCPNET.$DHCPEND,$MSK,$DHCPLEASE">>/var/etc/dnsmasq.conf
		fi
	done
	WAN_HOSTNAME=$(nvram get wan_hostname)
	if test -n "$WAN_HOSTNAME" && test -n "$LANADR"; then
		echo "address=/$WAN_HOSTNAME/$LANADR">>/var/etc/dnsmasq.conf
		echo "address=/$WAN_HOSTNAME.$WAN_DOMAIN/$LANADR">>/var/etc/dnsmasq.conf
	fi
	cat>>/var/etc/dnsmasq.conf<<EOF
dhcp-leasefile=/var/run/dhcp.leases
# allow a /etc/ethers for static hosts
read-ethers
# other useful options:
#      subnet mask: dhcp-option=wired,1,255.255.255.0
# default route(s): dhcp-option=wired,3,192.168.1.1,192.168.1.2
#    dns server(s): dhcp-option=wired,6,192.168.1.1,192.168.1.2
#   broadcast addr: dhcp-option=wired,28,192.168.1.255
#   broadcast addr: dhcp-option=wlnat,28,172.31.255.255
EOF
	test -f /etc/local.dnsmasq.conf && cat>>/var/etc/dnsmasq.conf</etc/local.dnsmasq.conf
}
case $1 in
	start)
		# Compatibility with openwrt
		ln -sf /var/etc/resolv.conf /tmp/resolv.conf
		rm -f /var/etc/resolv.conf
		WAN_DNS=$(nvram get wan_dns)
		WAN_DOMAIN=$(nvram get wan_domain)
		# No DNS: Use well known DNS servers
		test -z "$WAN_DNS" && WAN_DNS="88.198.178.18;141.54.1.1;212.204.49.83;208.67.220.220;208.67.222.222"
		if [ "0" != "$(nvram get ff_dnsmasq)" ];then
			echo "Starting dnsmasq..."
			export NVRAM_wan_ifname
			export NVRAM_lan_ifname
			export NVRAM_lan_ifnames
			eval $(/usr/bin/netparam)
			write_config
			echo "search olsr">/var/etc/resolv.conf
			echo "nameserver 127.0.0.1">>/var/etc/resolv.conf
			/usr/sbin/dnsmasq
		else
			echo "Configure resolv..."
			:>/var/etc/resolv.conf
			IFS=\;
			for i in $WAN_DNS;do
				echo "nameserver $i">>/var/etc/resolv.conf
			done
			unset IFS
		fi
		test -n "$WAN_DOMAIN" && echo "search $WAN_DOMAIN">>/var/etc/resolv.conf
	;;
	stop)
		echo "Stopping dnsmasq..."
		killall dnsmasq
	;;
	restart)
		$0 stop
		$0 start
	;;
	*)
		echo "Usage: $0 start|stop|restart"
	;;
esac
6. ändern der Zeit-Abfrage /etc/init.d/S92rdate (S = starten | Zahl = Startreihenfolge)
#!/bin/sh
# Zeit und Datum Abgleich mit Zeitservern
ntp_pool="192.53.103.108 192.53.103.104 128.138.140.44 171.64.7.77 171.64.7.99 81.169.154.44"
test -n "$FAILSAFE" && exit
if [ ! -f ${0%/*}/*ntp* ]; then
	i=0
	while [ "$i" -le 6 ]; do
#		if [ -n "$(for t in main olsr 68; do ip route list exact 0/0 table $t; done)" ]; then
			sh -c "
				pool='$ntp_pool'
				i=0
				
				while [ \$i -lt 4 ]; do
					let i=\$i+1
					for n in \$pool; do
						rdate -s \$n 2>/dev/null 1>/dev/null && exit
						sleep 5
					done
				done
			"&			
			return
#		else 
#			let i=$i+1
#			sleep 30
#		fi
	done
fi