|
Debian 5.03 jako zaawansowany ruter
mkotek - 01-12-2009 21:32
Witam, Mam mały kłopot z poprawną konfiguracją Debiana pod router. sieć wygląda następująco:
Teraz konfiguracja:
/etc/network/interfaces
auto lo iface lo inet loopback
# konfiguracja interfejsu ETH0 allow-hotplug eth0 auto eth0 iface eth0 inet dhcp
#konfiguracja kart sieci lokalnej auto eth1 iface eth1 inet static #allow-hotplug eth1 address 192.168.1.1 netmask 255.255.255.0
auto eth2 iface eth2 inet static address 192.168.2.1 netmask 255.255.255.0
subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.100 192.168.1.150; default-lease-time 2592000; option domain-name "mkserver.com"; option domain-name-servers 86.63.129.29, 212.182.63.146; option routers 192.168.1.1; option subnet-mask 255.255.255.0; option broadcast-address 192.168.1.255; host test2 { #hardware ethernet 00:00:00:00:00:00:00; #fixed-address 192.168.1.100; } } subnet 192.168.2.0 netmask 255.255.255.0 { range 192.168.2.100 192.168.2.150; default-lease-time 2592000; option domain-name "mkserver.com"; option domain-name-servers 86.63.129.29, 212.182.63.146; option routers 192.168.2.1; option subnet-mask 255.255.255.0; option broadcast-address 192.168.2.255; host test3 { #hardware ethernet 00:00:00:00:00:00:00; #fixed-address 192.168.2.100; } }
INTERFACES="eth1 eth2"
zew_ip="`/sbin/ifconfig eth0 | grep 'inet addr' | awk '{print $2}' | sed -e 's/.*://'`" dns1="86.63.xxx.xxx" dns2="212.182.xxx.xxx"
iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT
iptables -A INPUT -p icmp -s 0/0 -d 0/0 -j ACCEPT iptables -A OUTPUT -p icmp -s 0/0 -d 0/0 -j ACCEPT
#dostep do serwerów DNS dla serwera iptables -A INPUT -p tcp -s 0/0 --sport 80 -d $zew_ip -j ACCEPT iptables -A OUTPUT -p tcp -s $zew_ip -d 0/0 --dport 80 -j ACCEPT iptables -A INPUT -p udp -s 0/0 --sport 53 -d $zew_ip -j ACCEPT iptables -A OUTPUT -p udp -s $zew_ip -d 0/0 --dport 53 -j ACCEPT
#WWW dla DNS-ow iptables -A INPUT -p tcp -s 0/0 --sport 80 -d $zew_ip -j ACCEPT iptables -A OUTPUT -p tcp -s $zew_ip -d 0/0 --dport 80 -j ACCEPT
#Pozwalamy pingować wszystko
iptables -A FORWARD -p icmp -s 0/0 -d 0/0 -j ACCEPT iptables -A FORWARD -p icmp -s 0/0 -d 0/0 -j ACCEPT
# Odblokowujemy dostęp do DNS dla komputerów w sieci
iptables -A FORWARD -p ! icmp -s 192.168.2.0/24 -d $dns1 -j ACCEPT iptables -A FORWARD -p ! icmp -s $dns1 -d 192.168.2.0/24 -j ACCEPT
iptables -A FORWARD -p ! icmp -s 192.168.2.0/24 -d $dns2 -j ACCEPT iptables -A FORWARD -p ! icmp -s $dns2 -d 192.168.2.0/24 -j ACCEPT
# Odblokowujemy przeglądanie WWW dla komputerów w naszej sieci
iptables -A FORWARD -p tcp -s 192.168.2.0/24 -d 0/0 --dport 80 -j ACCEPT iptables -A FORWARD -p tcp -s 0/0 --sport 80 -d 192.168.2.0/24 -j ACCEPT
I teraz tak. Wszystko działa poprawnie do czasu, aż będzie aktywne połączenie na eth2 (chwilowo tylko ten testuje z ustawieniami). Stanowisko podłączone do eth2 poprawnie loguje się do sieci zewnętrznej, ale po chwili gubi sieć. Połączenie się resetuje i pojawia się połączenie z dostępem tylko lokalnym (oczywiście brak dostępu do sieci - a i jeszcze jako serwer dhcp widzi 192.168.2.101 zamiast xx.xx.2.1), >> eth2 przyjmuje adres 192.168.2.101.
Może jakieś propozycje? Co jest nie tak? To moje pierwsze kroki więc proszę o wyrozumiałość.
goofy - 01-12-2009 23:23
Porownaj Twoja konfiguracje z tym:
http://stary.dug.net.pl/texty/masq.php
Pytaj jesli cos jest niezrozumiale.
mkotek - 02-12-2009 08:42
Wielkie dzięki za odpowiedź, ale już znalazłem problem, z tym że go do końca nie rozumiem, więc może mi ktoś podpowie.
Dla dhcp omyłkowo ustawiłem na:
subnet 192.168.1.0 netmask 255.255.255.0 { } subnet 192.168.2.0 netmask 255.255.255.0 { }
option routers 192.168.1.1;
zmieniłem odpowiednio na:
option routers 192.168.2.1;
i wszystko działa poprawnie.
Nie do końca rozumiem tylko dlaczego tak, w interfaces jest ustawione na static i działa poprawnie, jak uruchomiłem i resetowałem dhcp (bez podłączonego komputera do eth2) wszystko było w porządku. Nic się nie zmieniało, a zaraz po podłączeniu urządzenia i rozpoczęcia transmisji okazało się, że jakiś błąd. Dlaczego? Jak już mówiłem, jestem początkujący, a dobrze jest wiedzieć.
zanotowane.pldoc.pisz.plpdf.pisz.plminister.pev.pl
|