Konfiguracja Routera

Serwery i sieci oparte na Slackware, wszelkiego rodzaju usługi, troubleshooting.

Moderatorzy: Moderatorzy, Administratorzy

Luke_Daredevil
Użytkownik
Posty: 5
Rejestracja: 2014-03-15, 16:27

Konfiguracja Routera

Post autor: Luke_Daredevil » 2014-03-15, 16:45

Witam,

Mam takie zadanie do zrealizowania:
Dostałem od operatora następujące dane:
adres p2p: a.b.c.d/31
pulę adresów LAN: e.f.g.h/29
W serwerze są dwie karty sieciowe WAN - eth0, LAN - eth1.

Do tej pory serwer funkcjonował jedynie na zasadzie podziału łącza w LANie - bez wykorzystania pozostałych adresów zewn. z puli /29.
Proszę o pomoc i wskazówki jak skonfigurować serwer (o ile jest to możliwe) aby móc ustawić na dowolnym komputerze, adres zewnętrzny z puli /29.

(Jak zapewne już widać, jestem jeszcze dość zielony w te klocki dlatego proszę o wyrozumiałość i możliwie prosty język :))
Z góry bardzo dziękuję!

Awatar użytkownika
webster
Użytkownik
Posty: 1266
Rejestracja: 2009-10-06, 11:58
Lokalizacja: Gdańsk
Kontakt:

Re: Konfiguracja Routera

Post autor: webster » 2014-03-15, 18:20

Kod: Zaznacz cały

ifconfig eth1_karta_NET:0 kolejne_zewn_IP
iptables -t nat -A POSTROUTING -s ip_lokaln_kompa -o eth1_karta_NET -j SNAT --to kolejne_zewn_IP
iptables -t nat -A PREROUTING -d kolejne_zewn_IP -p tcp  -j DNAT --to ip_lokaln_kompa
iptables -t nat -A PREROUTING -d kolejne_zewn_IP -p udp  -j DNAT --to ip_lokaln_kompa
††† Chaos Of The Mirror - Valheru †††
††† I ♥ SlackWare RuLeZ †††

Slackware Poland FaceBook

Luke_Daredevil
Użytkownik
Posty: 5
Rejestracja: 2014-03-15, 16:27

Re: Konfiguracja Routera

Post autor: Luke_Daredevil » 2014-03-17, 11:16

Dodałem wirtualny interface:

Kod: Zaznacz cały

ifconfig eth1:0 xx.xx.xx.208 netmask 255.255.255.248
W iptables dodałem wpisy:

Kod: Zaznacz cały

iptables -t nat -A POSTROUTING -s 10.1.1.5 -o eth1 -j SNAT --to xx.xx.xx.209

iptables -t nat -A PREROUTING -d xx.xx.xx.209 -p tcp  -j DNAT --to 10.1.1.5
iptables -t nat -A PREROUTING -d xx.xx.xx.209 -p udp  -j DNAT --to 10.1.1.5
Niestety klient nadal korzysta z zewnętrznego ip p2p /31.

Awatar użytkownika
webster
Użytkownik
Posty: 1266
Rejestracja: 2009-10-06, 11:58
Lokalizacja: Gdańsk
Kontakt:

Re: Konfiguracja Routera

Post autor: webster » 2014-03-17, 15:08

Zakładam, że klient najpierw dostał wpis o SNAT publicznym Twoim defaultowym

Kod: Zaznacz cały

iptables -t nat -D POSTROUTING -s 10.1.1.5 -o eth1 -j SNAT --to Twój_Główny_SNAT
††† Chaos Of The Mirror - Valheru †††
††† I ♥ SlackWare RuLeZ †††

Slackware Poland FaceBook

Luke_Daredevil
Użytkownik
Posty: 5
Rejestracja: 2014-03-15, 16:27

Re: Konfiguracja Routera

Post autor: Luke_Daredevil » 2014-03-19, 13:40

Nie pomogło niestety. Co jeszcze mogę sprawdzić?

Awatar użytkownika
dienet
Moderator
Posty: 2106
Rejestracja: 2007-07-24, 18:58
Lokalizacja: Racibórz/Rybnik
Kontakt:

Re: Konfiguracja Routera

Post autor: dienet » 2014-03-19, 21:47

Czy -o eth1 jest dobrym argumentem? Ja patrząc w moje zabawy z VirtualBoxem i z zewnętrznymi ipkami dla niego nie podaje -o.
SNAT defaultowy oczywiście musi być na samym dole łańcucha.
Pozdr0
dienet
[img]http://i164.photobucket.com/albums/u19/slawek15/kotekeo0lq3.jpg[/img]

Luke_Daredevil
Użytkownik
Posty: 5
Rejestracja: 2014-03-15, 16:27

Re: Konfiguracja Routera

Post autor: Luke_Daredevil » 2014-03-20, 22:48

Próbowałem też bez parametru -o eth1, bezskutecznie.

Poniżej cała obecna konfiguracja routera:

Kod: Zaznacz cały

#!/bin/sh

# uruchomienie przekazywania pakietow IP.
echo "1" > /proc/sys/net/ipv4/ip_forward

# wyczyśćmy tablice iptables odpowiedzialne za nat i za filtrowanie pakietów:

iptables -F -t nat
iptables -X -t nat
iptables -F -t filter
iptables -X -t filter

# Domyślnie odrzucamy i nie zezwalany na forwardowanie pakietów
iptables -t filter -P FORWARD DROP

#Blokada internetu
iptables -A FORWARD -s 0/0 -d 10.1.1.10 -j DROP #blokada pc1
iptables -A FORWARD -s 0/0 -d 10.1.1.11 -j DROP #blokada pc2
iptables -A FORWARD -s 0/0 -d 10.1.1.12 -j DROP #blokada pc3

# Zezwalamy na by serwer przepuszczał pakiety które pochodzą z naszej sieci
# lokalnej lub są dla niej przeznaczone.

iptables -t filter -A FORWARD -s 10.1.1.0/255.255.255.0 -d 0/0 -j ACCEPT
iptables -t filter -A FORWARD -s 0/0 -d 10.1.1.0/255.255.255.0 -j ACCEPT

# Teraz nakazujemy by wszystkie pakiety pochodzące z lanu były maskowane

iptables -t nat -A POSTROUTING -s 10.1.1.0/16 -d 0/0  -j MASQUERADE

iptables -t nat -A POSTROUTING -s 10.1.1.5 -j SNAT --to xx.xx.xx.209
iptables -t nat -A PREROUTING -d xx.xx.xx.209 -p tcp  -j DNAT --to 10.1.1.5
iptables -t nat -A PREROUTING -d xx.xx.xx.209 -p udp  -j DNAT --to 10.1.1.5


Awatar użytkownika
webster
Użytkownik
Posty: 1266
Rejestracja: 2009-10-06, 11:58
Lokalizacja: Gdańsk
Kontakt:

Re: Konfiguracja Routera

Post autor: webster » 2014-03-21, 09:59

Stary Bo Masz Maskarade, nie Możesz mieć Maskarady, tylko sztywny SNAT.
††† Chaos Of The Mirror - Valheru †††
††† I ♥ SlackWare RuLeZ †††

Slackware Poland FaceBook

Luke_Daredevil
Użytkownik
Posty: 5
Rejestracja: 2014-03-15, 16:27

Re: Konfiguracja Routera

Post autor: Luke_Daredevil » 2014-03-21, 13:30

Ok, zmieniłem więc konfigurację na:

Kod: Zaznacz cały

#!/bin/sh

# uruchomienie przekazywania pakietow IP.
echo "1" > /proc/sys/net/ipv4/ip_forward

# wyczyśćmy tablice iptables odpowiedzialne za nat i za filtrowanie pakietów:

iptables -F -t nat
iptables -X -t nat
iptables -F -t filter
iptables -X -t filter

# Domyślnie odrzucamy i nie zezwalany na forwardowanie pakietów
iptables -t filter -P FORWARD DROP

#Blokada internetu
iptables -A FORWARD -s 0/0 -d 10.1.1.10 -j DROP #blokada pc1
iptables -A FORWARD -s 0/0 -d 10.1.1.11 -j DROP #blokada pc2
iptables -A FORWARD -s 0/0 -d 10.1.1.12 -j DROP #blokada pc3

# Zezwalamy na by serwer przepuszczał pakiety które pochodzą z naszej sieci
# lokalnej lub są dla niej przeznaczone.

iptables -t filter -A FORWARD -s 10.1.1.0/255.255.255.0 -d 0/0 -j ACCEPT
iptables -t filter -A FORWARD -s 0/0 -d 10.1.1.0/255.255.255.0 -j ACCEPT

# Teraz nakazujemy by wszystkie pakiety pochodzące z lanu były maskowane

iptables -t nat -A POSTROUTING -s 10.1.1.0/24 -d 0/0  -j SNAT --to-source a.b.c.d    #(adres p2p a.b.c.d/31)

iptables -t nat -A POSTROUTING -s 10.1.1.5 -j SNAT --to xx.xx.xx.209
iptables -t nat -A PREROUTING -d xx.xx.xx.209 -p tcp  -j DNAT --to 10.1.1.5
iptables -t nat -A PREROUTING -d xx.xx.xx.209 -p udp  -j DNAT --to 10.1.1.5
Próbowałem też umieścić linijkę

Kod: Zaznacz cały

iptables -t nat -A POSTROUTING -s 10.1.1.5 -j SNAT --to xx.xx.xx.209
na początku łańcucha POSTROUTING

I nadal nie działa.

Awatar użytkownika
webster
Użytkownik
Posty: 1266
Rejestracja: 2009-10-06, 11:58
Lokalizacja: Gdańsk
Kontakt:

Re: Konfiguracja Routera

Post autor: webster » 2014-03-21, 19:59

Zacznijmy od tego, że Powinieneś operować interfejsami a nie 0/0. Dla przykładu gdzie WAN to eth1

Kod: Zaznacz cały

# Ustawiasz SNAT na sztywno na podstawie ETH
iptables -t nat -A POSTROUTING -s 10.1.1.0/24 -o eth1 -j SNAT --to a.b.c.d

# Usuwasz nie właściwy wpis dla pojedynczego adresu z klasy powyżej, który finalnie ma mieć SNAT inny - chyba jasne
iptables -t nat -D POSTROUTING -s 10.1.1.5 -o eth1 -j SNAT --to a.b.c.d

# Nadajesz temu ipkowi nowy SNAT
iptables -t nat -A POSTROUTING -s 10.1.1.5 -o eth1 -j SNAT --to xx.xx.xx.209

# Przekierowujesz nowy SNAT na clienta
iptables -t nat -A PREROUTING -d xx.xx.xx.209 -p tcp -j DNAT --to 10.1.1.5
iptables -t nat -A PREROUTING -d xx.xx.xx.209 -p udp -j DNAT --to 10.1.1.5
Qmasz?
††† Chaos Of The Mirror - Valheru †††
††† I ♥ SlackWare RuLeZ †††

Slackware Poland FaceBook

ODPOWIEDZ