-
Security (2)
-
Linux-Security (10)
-
Firewalls (3)
-
Cryptography (2)
-
Firewalls (3)
- Windows-Security (2)
-
Cryptology (1)
-
Programmierung (1)
-
PHP (2)
-
PHP (2)
-
Linux-Security (10)
-
Be-paranoid.net (-2)
- Viren & Würmer (2)
- Hints (1)
- Buchtipps (1)
- Offtopic (7)
- Programmieren (5)
- Honeypots (1)
- Linux Security (2)
- Cryptology (1)
- Datenschutz (3)
- Viren & Würmer (2)
Hexblog
SEppl's Blog
Rabenhorst
The Daily WTF
Otrn Blog
Userfriendly
Schneier on Security
Planet SELinux & News
Heise
SecurityFocus
Open4Free Blog
xkcd
|_|_|0|
|0|0|0|
Be-Paranoid.net
Routing Tutorial
Orginal Version | Artikel editieren | Versionen anzeigen | Bottom
Letzte Änderung: 31.10.2005, 10:50
Inhaltsverzeichnis
- Vorwort
- Tipps:
- sources.list
- DHCP Server
- Routing
- DNS-server">DNS Server
Vorwort Top
Hallo,
ich schreibe dieses Routing Tutorial weil ich gerade einen Server aufsetze, und ich später das gleiche auf Anhieb nochmal schaffen möchte. Daher richtet es sich auch an Fortgeschrittene.
Ich gehe von einem frisch aufgesetztem Debian System aus, der Rechner sollte 2 Netzwerkkarten haben, eth0, und eth1.
Bei mir ist eth1 die Netzwerkkarte mit der Internetverbindung, eth0 ist das Homenetzwerk.
Tipps: Top
- tail -f /var/log/syslog gibt die Datei /var/log/syslog laufend aus
sources.list Top
Wir sollten zuerst die /etc/apt/sources.list updaten:
/etc/apt/sources.list:
deb http://debian.fabbione.net/debian-ipv6 woody ipv6
deb-src http://debian.fabbione.net/debian-ipv6 woody ipv6
deb http://www.backports.org/debian stable all
deb-src http://www.backports.org/debian stable all
deb http://ftp.de.debian.org/debian woody main
deb-src http://ftp.de.debian.org/debian woody main
deb http://ftp.de.debian.org/debian-non-US woody/non-US main
deb-src http://ftp.de.debian.org/debian-non-US woody/non-US main
deb http://ftp.de.debian.org/debian/ woody-proposed-updates main
deb-src http://ftp.de.debian.org/debian/ woody-proposed-updates main
deb http://ftp.de.debian.org/debian-non-US/ woody-proposed-updates/non-US main
deb-src http://ftp.de.debian.org/debian-non-US/ woody-proposed-updates/non-US main
deb http://security.debian.org/ woody/updates main
deb-src http://security.debian.org/ woody/updates main
#deb cdrom:[Debian GNU/Linux 3.0 r2 _Woody_ - Official i386 Binary-2 (20031201)]/ unstable contrib main non-US/contrib non-US/main
#deb cdrom:[Debian GNU/Linux 3.0 r2 _Woody_ - Official i386 Binary-1 (20031201)]/ unstable contrib main non-US/contrib non-US/main
# deb http://security.debian.org/ stable/updates main
Und jetzt müssen wir noch:
Code:
apt-get update
apt-get autoclean
apt-get upgrade
machen, damit sollte der Server auf dem neusten Stand sein.
Wenn folgende Meldung kommt:
Code:
#apt-get upgrade
Reading Package Lists... Done
Building Dependency Tree... Done
The following packages have been kept back
libcupsys2 libpaperg libsane
0 packages upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
Dann installiert man die Packete einfach nach
Code:
apt-get install libcupsys2 libpaperg libsane
DHCP Server Top
Als erstes setzen wir einen DHCP Server für die Vergabe der IP Adressen auf. Dazu laden wir uns die aktuellen dhcp3 Packete von der Debian Seite herunter, und installieren sie mit dpkg -i packetname.deb (common, dev, server, client) oder man installiert sie mit apt-get install dhcp3-dev dhcp3-server dhcp3-client dhcp3-common.
Danach ändern wir /etc/network/interfaces:
/etc/network/interfaces:
auto lo eth0
iface lo inet loopback
iface eth0 inet static
address 192.168.0.1
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
Bei /etc/dhcp3/dhcpd.conf fügen wir folgendes hinzu:
Code:
subnet 192.168.0.0 netmask 255.255.255.0
{
range 192.168.0.50 192.168.0.100;
option domain-name "Servername.net";
option domain-name-servers 192.168.0.1;
option routers 192.168.0.1;
option broadcast-address 192.168.0.255;
default-lease-time 86400;
max-lease-time 604800;
}
Und jetzt ändern wir noch /etc/default/dhcp3-server:
Code:
INTERFACES="eth0"
Alternativ kann man auch dhcpd3 eth0 benutzen, damit diese Datei geändern wird.
Das wäre geschafft, der folgende Befehl sollte den dhcp Server starten:
Code:
/etc/init.d/dhcp3-server start
Jetzt sollten die Ip Adressen vergeben werden, und wir können unter Windows ipconfig /renew machen.
(Die IP Adresse in den TCP/IP-Netzwerkeigenschaften auf dynamisch stellen)
Und mit
Code:
mount -t smbfs -o username=test //pc1/share /windows
können wir mounten
Routing Top
Kommen wir zum Hauptteil.
Jetzt kopieren wir das folgendes Script nach /etc/init.d/firewall und ändern die Devices noch passend (ifconfig oder ip link show sollte auskunft über EXT_DEV geben):
Das Script ist übrigens noch in vielen Punkten zu verbessern, vielleicht werde ich das irgendwann machen.
Speichern Sie das Script in einer Datei, und machen Sie die Datei mit chmod a+x <dateiname> ausführbar.
/etc/init.d/firewall:
#!/bin/sh
#
# iptables firewall script v0.3
#
# get newer versions at www.zleep.org
# (c)2003 by mr_abe <cg@zleep.org>
#
#Gibt
EXT_DEV=ppp0
INT_DEV=eth0
INT_NET=192.168.0.0/24
IPTABLES=/sbin/iptables
case $1 in
start)
echo "Activate routing"
# load required modules
modprobe iptable_nat
# flush all tables, an set all connections to accept
$IPTABLES -t filter -F INPUT
$IPTABLES -t filter -F OUTPUT
$IPTABLES -t filter -F FORWARD
$IPTABLES -t filter -P INPUT ACCEPT
$IPTABLES -t filter -P OUTPUT ACCEPT
$IPTABLES -t filter -P FORWARD ACCEPT
# set up routing for internal network
$IPTABLES -t nat -F POSTROUTING
echo 1 > /proc/sys/net/ipv4/ip_forward
$IPTABLES -t nat -A POSTROUTING -o $EXT_DEV -s $INT_NET -j MASQUERADE
#new
echo 1 > /proc/sys/net/ipv4/ip_dynaddr
# accept all connections on localhost
$IPTABLES -t filter -A INPUT -i lo -s 0/0 -d 0/0 -j ACCEPT
#Open a ports
#$IPTABLES -t filter -A INPUT -i $EXT_DEV -p tcp --dport 21 --syn -j ACCEPT 80 --syn -j ACCEPT
#Forward this Ports to 192.168.0.2
#$IPTABLES -t nat -F PREROUTING
#$IPTABLES -t nat -A PREROUTING -i $EXT_DEV -p tcp --dport 4662 -j DNAT --to 192.168.0.2
# don't route this ports/ips
#$IPTABLES -t filter -A FORWARD -p tcp -i $INT_DEV -s 10.10.12.21 -j REJECT
#$IPTABLES -t filter -A FORWARD -p tcp -i $INT_DEV -s 10.10.12.21 --dport 80 -j REJECT
#$IPTABLES -t filter -A FORWARD -p tcp -i $INT_DEV -s 10.10.12.21 --dport 7082 -j REJECT
#$IPTABLES -t filter -A FORWARD -p tcp -i $INT_DEV -s 10.10.12.20 -d www.uboot.com -j REJECT
#Wir wollen verhindern das Port 21 geroutet wird
#$IPTABLES -t filter -A FORWARD -p tcp -i $INT_DEV --dport 21 -j REJECT
# set up some logging rules
#$IPTABLES -t filter -A INPUT -p tcp -j LOG --log-prefix "INPUT: TCP "
#$IPTABLES -t filter -A INPUT -p udp -j LOG --log-prefix "INPUT: UDP "
echo "Firewall & Routing activated"
;;
stop)
$IPTABLES -t filter -F INPUT
$IPTABLES -t filter -F OUTPUT
$IPTABLES -t filter -F FORWARD
$IPTABLES -t nat -F POSTROUTING
;;
restart)
$0 stop && $0 start
;;
*)
echo "Usage: $0 {start|stop|restart}"
;;
esac
Jetzt installieren wir noch apt-get install rcconfig und aktivieren da auch firewall(unser script), dadurch wird dieses Script beim start gestartet.
Damit unser pc routet führen wir die Datei aus:
Code:
/etc/init.d/firewall start
Anmerkung:
Dieses Script macht nur grundlegendes Routing, eine Ausführliche Anleitung für ein eigenes iptables Script finden Sie hier: internet-netzwerk/tutorials-29.html
DNS-server">DNS Server Top
Mit
Code:
apt-get install bind9
installieren wir den DNS Server.
Jetzt sollten wir noch die DNS-root-server auf europäisch stellen:
Code:
cd /etc/bind/
wget ftp://ftp.orsn.org/orsn/orsn.hint
Jetzt ändern wir in der Datei /etc/bind/named.conf:
Code:
zone "." {
type hint;
file "/etc/bind/orsn.hint";
};
die file Zeile.
Glückwunsch, du hast einen router vor dir stehen
Die Debian PCs, die über den Server ins Internet wollen müssen nur einen DHCP Client installiert haben, und die Datei /etc/network/interfaces folgendermaßen ändern,
/etc/network/interfaces :
auto eth0
iface eth0 inet dhcp
damit die Computer im Netzwerk eine dynamische IP bekommen.
Have fun,
BLD
Orginal Version | Artikel editieren | Versionen anzeigen | Top
Letzte Änderung: 31.10.2005, 10:50