Serwer - ruter, ruch jest tylko jednostronny
: 06 kwietnia 2009, 14:04
Witam. Mam problem z serwerem, który ma pracować jako ruter.
Postępowałem według poniższych wskazówek znalezionych na http://www.dug.net.pl/texty/masq.php
ale jest problem...
Komputer, który jest podpięty do tego rutera nie może nawet pingować rutera, a ruter pinguje ten komputer.
O co chodzi?
Chcemy stworzyć taką sieć:
Najpierw musimy skonfigurować prawidłowo interfejsy sieciowe w naszym routerze. Zakładamy że:
Mamy 2 możliwości:
Postępowałem według poniższych wskazówek znalezionych na http://www.dug.net.pl/texty/masq.php
ale jest problem...
Komputer, który jest podpięty do tego rutera nie może nawet pingować rutera, a ruter pinguje ten komputer.
O co chodzi?
Chcemy stworzyć taką sieć:
Kod: Zaznacz cały
----internet--------eth0-[server]--eth1------sieć lokalna-----
- eth0 - interfejs na świat
eth1 - interfejs na sieć lokalną
Mamy 2 możliwości:
- Nasz usługodawca przydziela nam adres IP dynamicznie, czyli nasz serwer pobiera sam ustawienia adresów od dostawcy. Wtedy nasz plik /etc/network/interfaces będzie wyglądał tak:
Kod: Zaznacz cały
auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp auto eth1 iface eth1 inet static address 192.168.1.1 netmask 255.255.255.0
- Mamy na umowie z naszym dostawcą internetu informacje o IP, masce sieci, network, bramie; wtedy nasz plik /etc/network/interfaces będzie wyglądał tak:Nasz plik /etc/resolv.conf powinien wyglądać tak:
Kod: Zaznacz cały
auto lo iface lo inet loopback auto eth0 iface eth0 inet static address adres_ip_z_umowy netmask maska_sieci_z_imowy network adres_sieci_Z_umowy gateway brama_z_umowy auto eth1 iface eth1 inet static address 192.168.1.1 netmask 255.255.255.0
Teraz restartujemy ustawienia interfejsów wydając polecenieKod: Zaznacz cały
nameserver 194.204.152.34 nameserver 194.204.159.1
Sprawdzamy czy wszystko działa poprawnie, czyli czy na serwerze mamy internet. Piszemy np.Kod: Zaznacz cały
/etc/init.d/networking restart
Jeśli dostaniemy np. coś w tym styluKod: Zaznacz cały
ping google.pl
Tzn. że internet nam działa na serwerze. Teraz zajmiemy się udostępnianiem połączenia internetowego dla sieci lokalnej - tworzymy plik /etc/init.d/firewallKod: Zaznacz cały
PING google.pl (216.239.57.99): 56 data bytes 64 bytes from 216.239.57.99: icmp_seq=0 ttl=239 time=207.4 ms 64 bytes from 216.239.57.99: icmp_seq=1 ttl=239 time=204.8 ms
i nadajemy mu uprawnienia do uruchamiania:oraz edytujemy ww. plik wpisując do niego przykładowa zawartośćKod: Zaznacz cały
chmod +x /etc/init.d/firewall
Zapisujemy plik. Zamiast ip.ip.ip.ip wpisujemy IP zewnętrzne naszego serwera.Kod: Zaznacz cały
# wlaczenie w kernelu forwardowania echo 1 > /proc/sys/net/ipv4/ip_forward # czyszczenie starych regul iptables -F iptables -X iptables -t nat -X iptables -t nat -F # ustawienie polityki dzialania iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT # zezwolenie nna laczenie sie z naszym zewnetrznym ip po ssh iptables -A INPUT -i lo -j ACCEPT iptables -A FORWARD -o lo -j ACCEPT iptables -A INPUT -s 0/0 -d ip.ip.ip.ip -p tcp --dport 22 -j ACCEPT iptables -A OUTPUT -s 0/0 -d ip.ip.ip.ip -p tcp --dport 22 -j ACCEPT iptables -A INPUT -s 0/0 -d ip.ip.ip.ip -p udp --dport 22 -j ACCEPT iptables -A OUTPUT -s 0/0 -d ip.ip.ip.ip -p udp --dport 22 -j ACCEPT # polaczenia nawiazane iptables -A INPUT -j ACCEPT -m state --state ESTABLISHED,RELATED iptables -A FORWARD -j ACCEPT -m state --state ESTABLISHED,RELATED iptables -A OUTPUT -j ACCEPT -m state --state ESTABLISHED,RELATED # udostepniaie internetu w sieci lokalnej iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE iptables -A FORWARD -s 192.168.1.0/24 -j ACCEPT
Wydajemy jeszcze polecenie, które spowoduje ze ww. skrypt będzie się uruchamiał przy starcie systemu:Teraz konfiguracja stanowisk w sieciKod: Zaznacz cały
update-rc.d firewall defaults 20
np. komputer nr 1
IP 192.168.1.2
Maska Sieci 255.255.255.0
Brama 192.168.1.1
DNS'y 194.204.159.1 194.204.152.34
Sprawdzamy czy wszystko nam działa poprawnie - uruchamiamy skrypt poleceniem:np. komputer nr 2
IP 192.168.1.3
Maska Sieci 255.255.255.0
Brama 192.168.1.1
DNS'y 194.204.159.1 194.204.152.34i w sumie to jest najprostsza metoda udostępniania połączenia.Kod: Zaznacz cały
/etc/init.d/firewall