Router: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
(12 intermediate revisions by 2 users not shown) | |||
Line 38: | Line 38: | ||
range 10.42.23.6 10.42.23.100; | range 10.42.23.6 10.42.23.100; | ||
option routers 10.42.23.5; | option routers 10.42.23.5; | ||
} | |||
subnet 10.42.23.128 netmask 255.255.255.128 { | |||
range 10.42.23.130 10.42.23.254; | |||
option routers 10.42.23.129; | |||
} | } | ||
* /etc/network/interfaces | * /etc/network/interfaces | ||
Line 43: | Line 48: | ||
iface eth0 inet static | iface eth0 inet static | ||
address 10.42.23.5 | address 10.42.23.5 | ||
netmask 255.255.255. | netmask 255.255.255.128 | ||
post-up ip -6 a a 2a01:198:255::1/64 dev eth0 | post-up ip -6 a a 2a01:198:255::1/64 dev eth0 | ||
post-up ip6tables-restore < /etc/network/ip6tables | post-up ip6tables-restore < /etc/network/ip6tables | ||
post-up iptables-restore < /etc/network/iptables | post-up iptables-restore < /etc/network/iptables | ||
auto wlan1 | |||
iface wlan1 inet static | |||
address 10.42.23.129 | |||
netmask 255.255.255.128 | |||
post-up ip -6 a a 2a01:198:255:1::1/64 dev wlan1 | |||
* /etc/rc.local | |||
# Da hostapd die IPv6-Adresse kaputtmacht beim starten | |||
# setzen wir sie hier nochmals (wird am Ende vom runlevel ausgeführt) | |||
# Siehe: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=536630 | |||
ip -6 a a 2a01:198:255:1::1/64 dev wlan1 | |||
* /etc/sysctl.conf | * /etc/sysctl.conf | ||
net.ipv4.conf.default.rp_filter=1 | net.ipv4.conf.default.rp_filter=1 | ||
Line 54: | Line 71: | ||
net.ipv6.conf.all.forwarding=1 | net.ipv6.conf.all.forwarding=1 | ||
net.ipv4.icmp_echo_ignore_broadcasts=1 | net.ipv4.icmp_echo_ignore_broadcasts=1 | ||
net. | net.ipv4.icmp_ignore_bogus_error_responses=1 | ||
# Da wir einen eigenen Tunnel bauen ist es eher kontra-produktiv, | # Da wir einen eigenen Tunnel bauen ist es eher kontra-produktiv, | ||
Line 74: | Line 91: | ||
}; | }; | ||
}; | }; | ||
interface wlan1 | |||
{ | |||
AdvSendAdvert on; | |||
AdvHomeAgentFlag off; | |||
IgnoreIfMissing on; | |||
prefix 2a01:198:255:1::/64 | |||
{ | |||
AdvOnLink on; | |||
AdvAutonomous on; | |||
AdvRouterAddr off; | |||
}; | |||
}; | |||
* /etc/hostapd.conf | |||
interface=wlan1 | |||
driver=nl80211 | |||
ssid=ccchd | |||
hw_mode=g | |||
channel=11 | |||
* iptables: | * iptables: | ||
iptables -t nat -A POSTROUTING -j MASQUERADE -s 10.42.23.0/24 | iptables -t nat -A POSTROUTING -j MASQUERADE -s 10.42.23.0/24 | ||
ip6tables -A FORWARD -p icmpv6 -j ACCEPT | ip6tables -A FORWARD -p icmpv6 -j ACCEPT | ||
ip6tables -A FORWARD -s 2a01:198:255::/ | ip6tables -A FORWARD -s 2a01:198:255::/48 -m state --state NEW -j ACCEPT | ||
ip6tables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT | ip6tables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT | ||
ip6tables -A FORWARD -j REJECT | ip6tables -A FORWARD -j REJECT | ||
Line 94: | Line 129: | ||
* IPv6-modul früh laden: | * IPv6-modul früh laden: | ||
echo ipv6 >> /etc/modules | echo ipv6 >> /etc/modules | ||
* | * Watchdog bauen, da aiccu beim boot irgendwie nicht sonderlich zuverlässig ist: | ||
cat <<EOF >/root/restart_aiccu.sh | |||
#!/bin/sh | |||
ping6 -c 1 ipv6.google.com 2>&- >&- | |||
if [ $? -ne 0 ]; then | |||
/etc/init.d/aiccu restart | |||
fi | |||
EOF | |||
echo "* * * * * /root/restart-aiccu.sh" | crontab | |||
= WLAN = | = WLAN = | ||
* | * Firmware von http://wireless.kernel.org/en/users/Drivers/p54#firmware (isl3886usb nach /lib/firmware) | ||
* apt-get install hostapd | |||
* config siehe oben (/etc/hostapd/hostapd.conf) | |||
== OpenWRT (Fallback, falls der WLAN-Stick nicht tut) == | |||
* kamikaze-image installieren | |||
* chmod -x /etc/init.d/dnsmasq (wir haben einen eigenen DHCP eins weiter) | |||
* vi /etc/config/network, ipaddr in das gleich subnetz packen wie der router | |||
* vi /etc/config/wireless, disabled entfernen, ssid setzen | |||
* reboot | |||
* router an einen der LAN-ports anstecken, nicht an den internet-port! | |||
= Fertig = | = Fertig = | ||
Das war’s. Router einstecken und sich über das Netz freuen. Gegebenenfalls noch einloggen und vpnc starten, falls ein VPN genutzt werden soll. | Das war’s. Router einstecken und sich über das Netz freuen. Gegebenenfalls noch einloggen und vpnc starten, falls ein VPN genutzt werden soll. |
Latest revision as of 16:41, 3 September 2009
Damit im Falle eines Falles unser Router (der auf den Treffs das Internet bereitstellt) einfach wiederhergestellt werden kann, und da es für einige eventuell interessant ist, schildere ich hier das Setup:
Debian installieren
- USB-Stick einstecken (/dev/sdb)
wget http://ftp.de.debian.org/debian/dists/testing/main/installer-i386/current/images/hd-media/boot.img.gz zcat boot.img.gz > /dev/sdb wget http://ftp.de.debian.org/debian/dists/testing/main/installer-i386/current/images//netboot/debian-installer/i386/initrd.gz pmount sdb cp initrd.gz /media/sdb/ pumount sdb
- Den Rechner vom USB-stick booten, Debian-setup durchgehen
- Das Root-Passwort ist sur5r, toxios und sECuRE bekannt
System konfigurieren
- apt-get sagen, dass er keine recommendations installieren soll:
echo 'APT::Install-Recommends "false";' > /etc/apt/apt.conf echo 'APT::Install-Suggests "false";' >> /etc/apt/apt.conf
- locales einstellen:
dpkg-reconfigure locales
→ de_DE.UTF8 und en_US.UTF8 wählen, default auf „None“ stellen
- Software installieren
apt-get install git-core zsh screen vim sudo ssh dhcp3-server less radvd vpnc bacula-fd bind9 resolvconf aiccu
- Angenehme configfiles installieren (YMMV):
git clone git://code.stapelberg.de/configfiles cd configfiles && ./initialize.sh chsh → /usr/bin/zsh
Software konfigurieren
- /etc/dhcp3/dhcpd.conf
option domain-name "treff.noname-ev.de"; option domain-name-servers 10.42.23.5; authoritive; default-lease-time 600; max-lease-time 7200; log-facility local7; subnet 10.42.23.0 netmask 255.255.255.0 { range 10.42.23.6 10.42.23.100; option routers 10.42.23.5; } subnet 10.42.23.128 netmask 255.255.255.128 { range 10.42.23.130 10.42.23.254; option routers 10.42.23.129; }
- /etc/network/interfaces
auto eth0 iface eth0 inet static address 10.42.23.5 netmask 255.255.255.128 post-up ip -6 a a 2a01:198:255::1/64 dev eth0 post-up ip6tables-restore < /etc/network/ip6tables post-up iptables-restore < /etc/network/iptables auto wlan1 iface wlan1 inet static address 10.42.23.129 netmask 255.255.255.128 post-up ip -6 a a 2a01:198:255:1::1/64 dev wlan1
- /etc/rc.local
# Da hostapd die IPv6-Adresse kaputtmacht beim starten # setzen wir sie hier nochmals (wird am Ende vom runlevel ausgeführt) # Siehe: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=536630 ip -6 a a 2a01:198:255:1::1/64 dev wlan1
- /etc/sysctl.conf
net.ipv4.conf.default.rp_filter=1 net.ipv6.conf.all.rp_filter=1 net.ipv4.ip_forward=1 net.ipv6.conf.all.forwarding=1 net.ipv4.icmp_echo_ignore_broadcasts=1 net.ipv4.icmp_ignore_bogus_error_responses=1 # Da wir einen eigenen Tunnel bauen ist es eher kontra-produktiv, # wenn wir von außen eine v6-Adresse bekommen. Sofern $upstream # stabiles v6 anbietet, kann das raus und unser Tunnel deaktiviert # werden. net.ipv6.conf.eth1.accept_ra=0
- /etc/radvd.conf
interface eth0 { AdvSendAdvert on; AdvHomeAgentFlag off; IgnoreIfMissing on; prefix 2a01:198:255::/64 { AdvOnLink on; AdvAutonomous on; AdvRouterAddr off; }; }; interface wlan1 { AdvSendAdvert on; AdvHomeAgentFlag off; IgnoreIfMissing on; prefix 2a01:198:255:1::/64 { AdvOnLink on; AdvAutonomous on; AdvRouterAddr off; }; };
- /etc/hostapd.conf
interface=wlan1 driver=nl80211 ssid=ccchd hw_mode=g channel=11
- iptables:
iptables -t nat -A POSTROUTING -j MASQUERADE -s 10.42.23.0/24 ip6tables -A FORWARD -p icmpv6 -j ACCEPT ip6tables -A FORWARD -s 2a01:198:255::/48 -m state --state NEW -j ACCEPT ip6tables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT ip6tables -A FORWARD -j REJECT ip6tables -A INPUT -p icmpv6 -j ACCEPT ip6tables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT ip6tables -A INPUT -s ::1/128 -d ::1/128 -j ACCEPT ip6tables -A INPUT -s fe80::/10 -d fe80::/10 -j ACCEPT ip6tables -A INPUT -j REJECT iptables-save > /etc/network/iptables ip6tables-save > /etc/network/ip6tables
- /etc/bind/named.conf: statt /etc/bind/named.conf.options wollen wir:
include "/var/run/bind/named.options";
- IPv6-modul früh laden:
echo ipv6 >> /etc/modules
- Watchdog bauen, da aiccu beim boot irgendwie nicht sonderlich zuverlässig ist:
cat <<EOF >/root/restart_aiccu.sh #!/bin/sh ping6 -c 1 ipv6.google.com 2>&- >&- if [ $? -ne 0 ]; then /etc/init.d/aiccu restart fi EOF echo "* * * * * /root/restart-aiccu.sh" | crontab
WLAN
- Firmware von http://wireless.kernel.org/en/users/Drivers/p54#firmware (isl3886usb nach /lib/firmware)
- apt-get install hostapd
- config siehe oben (/etc/hostapd/hostapd.conf)
OpenWRT (Fallback, falls der WLAN-Stick nicht tut)
- kamikaze-image installieren
- chmod -x /etc/init.d/dnsmasq (wir haben einen eigenen DHCP eins weiter)
- vi /etc/config/network, ipaddr in das gleich subnetz packen wie der router
- vi /etc/config/wireless, disabled entfernen, ssid setzen
- reboot
- router an einen der LAN-ports anstecken, nicht an den internet-port!
Fertig
Das war’s. Router einstecken und sich über das Netz freuen. Gegebenenfalls noch einloggen und vpnc starten, falls ein VPN genutzt werden soll.