Router: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 113: | Line 113: | ||
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 |
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.