Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2007-07-01 22:02:21

  Punisher999 - Użytkownik

Punisher999
Użytkownik
Skąd: Kielce
Zarejestrowany: 2005-07-15
Serwis

ROUTNIG NA 2 ŁĄCZA

Witam.
Może ktoś wskaże mój błąd.
Problem jest taki, że zrobiłem 2 tablice na 2 dsle ale działa tylko jedna, objawia sie to tym że jak wskaże ze zamarkowane pakiety mają lecieć tablicą "inter" to gdzieś mi giną i nie wiem gdzie. :( Jak wskaże że mają lecieć tablicą "ptop" to lecą sobie normalnie.

EDIT:
NIE CZYTAC TYCH KONFIGÓW NA DOLE SA AKTUALNIEJSZE

ROUTING:

Kod:

IP_NET=83.19.39.206
IP_P2P=10.0.0.2
IP_LAN=192.168.1.1
IP_WLN=192.168.2.1

SIEC_NET=83.19.39.200/29
SIEC_P2P=10.0.0.0/29
SIEC_LAN=192.168.1.0/24
SIEC_WLN=192.168.2.0/24

MASKA_NET=/29
MASKA_P2P=/29
MASKA_LAN=/24
MASKA_WLN=/24

BRAMA_NET=83.19.39.201
BRAMA_P2P=10.0.0.1

ETH_NET=eth0
ETH_P2P=eth1
ETH_LAN=eth2
ETH_WLN=eth3

MARKER_PRIO=777

#### tablica routingu o nazwie inter
ip route add $SIEC_P2P dev eth1 proto kernel scope link src $IP_P2P table inter
ip route add $SIEC_NET dev eth0 proto kernel scope link src $IP_NET table inter
ip route add $SIEC_LAN dev eth2 proto kernel scope link src $IP_LAN table inter
ip route add $SIEC_WLN dev eth3 proto kernel scope link src $IP_WLN table inter
ip route add 127.0.0.0/8 via 127.0.0.1 dev lo scope link table inter
ip route add default via $BRAMA_NET dev $ETH_NET table inter

#### tablica routingu o nazwie ptop
ip route add $SIEC_NET dev eth0 proto kernel scope link src $IP_NET table ptop
ip route add $SIEC_P2P dev eth1 proto kernel scope link src $IP_P2P table ptop
ip route add $SIEC_LAN dev eth2 proto kernel scope link src $IP_LAN table ptop
ip route add $SIEC_WLN dev eth3 proto kernel scope link src $IP_WLN table ptop
ip route add 127.0.0.0/8 via 127.0.0.1 dev lo scope link table ptop
ip route add default via $BRAMA_P2P dev $ETH_P2P table ptop

#### ustawianie reguł polityki routingu
ip rule add from $IP_NET table inter
ip rule add from $IP_P2P table ptop

#### dodnie domyslnej bramy (table main)
#ip route change default via $BRAMA_P2P # to juz jest domyslne ustawione przes debiana zatem to po prostu zmieniam

# skierowanie zmarkowanych pakietów do danej tablicy
ip rule add fwmark $MARKER_PRIO table inter

FIREWALL:

Kod:

# wlaczenie w kernel'u forwardowania 
echo 1 > /proc/sys/net/ipv4/ip_forward

# wył±czeni rp filter
echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter

###################################
######### zmienne
###################################

IP_NET=83.19.39.206
IP_P2P=10.0.0.2
IP_LAN=192.168.1.1
IP_WLN=192.168.1.2

ETH_NET=eth0
ETH_P2P=eth1
ETH_LAN=eth2
ETH_WLN=eth3

MARKER_P2P=666
MARKER_PRIO=777

BROADCAST_LAN=192.168.1.255

KBIT=kbit

########## START FIREWALL ##########
# czyszczenie starych regul
iptables -F
iptables -X
iptables -t nat -X
iptables -t nat -F
iptables -t filter -X
iptables -t filter -F
iptables -t mangle -F

# ustawienie polityki dzialania
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

# polaczenia nawiazane
iptables -A INPUT -p all -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -A FORWARD -p all -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -A OUTPUT -p all -j ACCEPT -m state --state ESTABLISHED,RELATED

### MARKOWANIE PAKIETÓW ###
iptables -t mangle -N MARK_TRAFFIC
iptables -t mangle -A PREROUTING -j MARK_TRAFFIC
iptables -t mangle -A MARK_TRAFFIC -j CONNMARK --restore-mark
#iptables -t mangle -A MARK_TRAFFIC -m mark ! --mark 0 -j RETURN     #<-- pakiety sklasyfikowane mog± spokojnie wyskoczyć z łancucha zeby ich nie sprawdzać po kilka razy TO PRZY¦PIESZA ŁADOWANIE I DZIŁANIE SERWERA ALE OBNIZA SKUECZNOSC TRAFIEN LAYERA Z 70% DO 40% NA PAKIETACH NA ILOSCI DANYCH NIE SPRAWDZILEM
### makrowanie p2p
iptables -t mangle -A MARK_TRAFFIC -m layer7 --l7proto edonkey -j MARK --set-mark  $MARKER_P2P
#iptables -t mangle -A MARK_TRAFFIC -m layer7 --l7proto gnutella -j MARK --set-mark  $MARKER_P2P
#iptables -t mangle -A MARK_TRAFFIC -m layer7 --l7proto bittorrent -j MARK --set-mark  $MARKER_P2P
#iptables -t mangle -A MARK_TRAFFIC -m layer7 --l7proto directconnect -j MARK --set-mark  $MARKER_P2P
#iptables -t mangle -A MARK_TRAFFIC -m layer7 --l7proto fasttrack -j MARK --set-mark  $MARKER_P2P
#iptables -t mangle -A MARK_TRAFFIC -m layer7 --l7proto soulseek -j MARK --set-mark  $MARKER_P2P
#iptables -t mangle -A MARK_TRAFFIC -m layer7 --l7proto ares -j MARK --set-mark  $MARKER_P2P
#iptables -t mangle -A MARK_TRAFFIC -m layer7 --l7proto applejuice -j MARK --set-mark  $MARKER_P2P
#iptables -t mangle -A MARK_TRAFFIC -m layer7 --l7proto gnucleuslan -j MARK --set-mark  $MARKER_P2P
#iptables -t mangle -A MARK_TRAFFIC -m layer7 --l7proto openft -j MARK --set-mark  $MARKER_P2P
#iptables -t mangle -A MARK_TRAFFIC -m layer7 --l7proto mute -j MARK --set-mark  $MARKER_P2P
#iptables -t mangle -A MARK_TRAFFIC -m layer7 --l7proto napster -j MARK --set-mark  $MARKER_P2P
#iptables -t mangle -A MARK_TRAFFIC -m layer7 --l7proto 100bao -j MARK --set-mark  $MARKER_P2P

#iptables -t mangle -A MARK_TRAFFIC -m ipp2p --bit --apple --winmx --soul --ares -j MARK --set-mark  $MARKER_P2P
#iptables -t mangle -A MARK_TRAFFIC -m ipp2p --ipp2p -j MARK --set-mark  $MARKER_P2P

### markowanie uslug

#iptables -t mangle -A MARK_TRAFFIC -m layer7 --l7proto ftp -j MARK --set-mark  $MARKER_PRIO
#iptables -t mangle -A MARK_TRAFFIC -m layer7 --l7proto http -j MARK --set-mark  $MARKER_PRIO
#iptables -t mangle -A MARK_TRAFFIC -m layer7 --l7proto http-rtsp -j MARK --set-mark  $MARKER_PRIO
#iptables -t mangle -A MARK_TRAFFIC -m layer7 --l7proto shoutcast -j MARK --set-mark  $MARKER_PRIO
#iptables -t mangle -A MARK_TRAFFIC -m layer7 --l7proto skypeout -j MARK --set-mark  $MARKER_PRIO
#iptables -t mangle -A MARK_TRAFFIC -m layer7 --l7proto skypetoskype -j MARK --set-mark  $MARKER_PRIO
#iptables -t mangle -A MARK_TRAFFIC -m layer7 --l7proto smtp -j MARK --set-mark  $MARKER_PRIO
#iptables -t mangle -A MARK_TRAFFIC -m layer7 --l7proto snmp -j MARK --set-mark  $MARKER_PRIO
#iptables -t mangle -A MARK_TRAFFIC -m layer7 --l7proto ssh -j MARK --set-mark  $MARKER_PRIO
#iptables -t mangle -A MARK_TRAFFIC -m layer7 --l7proto teamspeak -j MARK --set-mark  $MARKER_PRIO
#iptables -t mangle -A MARK_TRAFFIC -m layer7 --l7proto telnet -j MARK --set-mark  $MARKER_PRIO
#iptables -t mangle -A MARK_TRAFFIC -m layer7 --l7proto tftp -j MARK --set-mark  $MARKER_PRIO
#iptables -t mangle -A MARK_TRAFFIC -m layer7 --l7proto vnc -j MARK --set-mark  $MARKER_PRIO

#iptables -t mangle -A MARK_TRAFFIC -m layer7 --l7proto aim -j MARK --set-mark  $MARKER_PRIO
#iptables -t mangle -A MARK_TRAFFIC -m layer7 --l7proto aimwebcontent -j MARK --set-mark  $MARKER_PRIO

iptables -t mangle -A MARK_TRAFFIC -j CONNMARK --save-mark

# zezwolenie nna loczenie sie z naszym zewnetrznym ip po ssh
iptables -A INPUT -s 0/0 -d $IP_NET -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -s 0/0 -d $IP_NET -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -s 0/0 -d $IP_LAN -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -s 0/0 -d $IP_LAN -p tcp --dport 22 -j ACCEPT

### NAT ###
iptables -t nat -A POSTROUTING -o $ETH_NET -j SNAT --to-source $IP_NET
iptables -t nat -A POSTROUTING -o $ETH_P2P -j SNAT --to-source $IP_P2P

############ UDOSTEPNIENIE NETU ####################


PIP=1 IP=100 MAK=00:02:44:7b:b4:d7 DLA=PUNIX
iptables -A FORWARD -m mac --mac-source $MAK -s 192.168.1.$IP -j ACCEPT

PIP=1 IP=133 MAK=00:e0:4c:86:31:db DLA=PUNIX
iptables -A FORWARD -m mac --mac-source $MAK -s 192.168.1.$IP -j ACCEPT

PIP=1 IP=134 MAK=00:00:e8:01:2c:ec DLA=PUNIX
iptables -A FORWARD -m mac --mac-source $MAK -s 192.168.1.$IP -j ACCEPT

PIP=2 IP=144 MAK=00:02:44:7b:b4:d7 DLA=PUNIX
iptables -A FORWARD -m mac --mac-source $MAK -s 192.168.1.$IP -j ACCEPT

Offline

 

#2  2007-07-02 22:25:24

  BiExi - matka przelozona

BiExi
matka przelozona
Skąd: Gorlice
Zarejestrowany: 2004-04-16
Serwis

Re: ROUTNIG NA 2 ŁĄCZA

opisz co chesz osiagnac to klepne tablice routingu....

Offline

 

#3  2007-07-03 10:53:43

  Punisher999 - Użytkownik

Punisher999
Użytkownik
Skąd: Kielce
Zarejestrowany: 2005-07-15
Serwis

Re: ROUTNIG NA 2 ŁĄCZA

Założenie jest takie że mają być 2 dsle przez jeden mają pakiety iść domyślnie a przez drugi mają iść tylko usługi priorytetowe zmarkowane w PREROUTING markiem np 777. Odbywać sie to ma z 2 sieci lan (jedna to wifi)

DSL 1:
ip 83.19.39.206
maska 255.255.255.248
brama 83.19.39.201

DSL 2:  (na razie symuluje go przez ruter)
ip 10.0.0.2
maska 255.255.248
brama 10.0.0.1

LAN 1:
ip 192.168.1.1
maska 255.255.255.0

LAN 2: (docelowo ma byc wifi)
ip 192.168.2.1
maska 255.255.255.0

Offline

 

#4  2007-07-04 19:11:52

  BiExi - matka przelozona

BiExi
matka przelozona
Skąd: Gorlice
Zarejestrowany: 2004-04-16
Serwis

Re: ROUTNIG NA 2 ŁĄCZA

Kod:

ip route add adres_sieci_dsl2/29 src adres_ip_na_serwerze_dsl2 via brama_dsl2 dev eth1 table p2p
ip route add default via adres_ip_na_serwerze_dsl2 dev eth1 table p2p
ip rule add fwmark 0x12 table p2p
ip route flush cache

markijesz pakiety po 0x12

oczywiscie wpisy w /etc/iproute2/rt_tables

Offline

 

#5  2007-07-14 00:02:47

  Punisher999 - Użytkownik

Punisher999
Użytkownik
Skąd: Kielce
Zarejestrowany: 2005-07-15
Serwis

Re: ROUTNIG NA 2 ŁĄCZA

Pierwszy routing robiłem według zlegozwierza
http://forum.inet.ll.pl/viewtopic.php?t=594&start=15
Potem robiłem według Kształtowanie Ruchu i Zaawansowany Routing HOWTO
http://lukasz.bromirski.net/docs/translations/lartc-pl.html
Teraz zrobiłem Routing według twojego opisu wyżej ale zawsze jest to samo jak coś chcę przekierować na drugie łacze to nie bardzo to chce działać.
Co ciekawe zaobserowołem że przekierowanie FTP wyłapanego Layerem7 działa. Natomiast przekierowanie pozostałych usług (www, shoutcast) nie działa zarówno wyłapanymi layerem jak i po portach.
Objawem tego że nie działa jest to ze często zaczyna wchodzenie na strone ale przerywa zawsze gdzieś w połowie (oprucz google ale to dlatego ze to ma mało danych do sciągnięcia), Radio internetowe próbuje sie buforowac ale zawsze staje na 0 %
Zaobserwowałem równierz że jak tylko uruchomię routing robiony przezemnie to spora ilość pakietów jest przekierowywana do łańcucha INPUT zamiast do FORWARD. Pewnie tu tkwi bład ale nie bardzo rozumiem dlaczego tak się dzieje. :(

Jak ustawię którąkolwiek brame domyślną to płyną przez nią dane, jak pomarkowane pakiety puszcze tez przez domyślną brame to tez działa, dlatego sądze że tablice routingu są ok.

Odchodze już od zmysłów a czas mnie nagli. Jakby ktoś mógł mi to przeanalizowac to moze znajdze jakąś glupotę przez którą się tak dzieje.

FIREWALL:

Kod:

# wlaczenie w kernel'u forwardowania 
echo 1 > /proc/sys/net/ipv4/ip_forward
# wyłączenie rp_filter
echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter

###################################
######### zmienne
###################################

IP_NET=83.19.239.206
IP_P2P=10.0.0.2
IP_LAN=192.168.1.1
IP_WLN=192.168.1.2

ETH_NET=eth0
ETH_P2P=eth1
ETH_LAN=eth2
ETH_WLN=eth3

MARKER_PRIO=777

BROADCAST_LAN=192.168.1.255

########## START FIREWALL ##########
# czyszczenie starych regul
iptables -F
iptables -X
iptables -t nat -X
iptables -t nat -F
iptables -t filter -X
iptables -t filter -F
iptables -t mangle -F

# ustawienie polityki dzialania
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

# polaczenia nawiazane
iptables -A INPUT -p all -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -A FORWARD -p all -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -A OUTPUT -p all -j ACCEPT -m state --state ESTABLISHED,RELATED

### MARKOWANIE PAKIETÓW ###
iptables -t mangle -A PREROUTING -j CONNMARK --restore-mark
iptables -t mangle -A PREROUTING -m mark ! --mark 0 -j RETURN 

### markowanie uslug
iptables -t mangle -A PREROUTING -p tcp --dport 80 -j MARK --set-mark  $MARKER_PRIO
iptables -t mangle -A PREROUTING -p tcp --dport 14534 -j MARK --set-mark  $MARKER_PRIO

iptables -t mangle -A PREROUTING -m layer7 --l7proto ftp -j MARK --set-mark  $MARKER_PRIO
#iptables -t mangle -A PREROUTING -m layer7 --l7proto http -j MARK --set-mark  $MARKER_PRIO
#iptables -t mangle -A PREROUTING -m layer7 --l7proto http-rtsp -j MARK --set-mark  $MARKER_PRIO
#iptables -t mangle -A PREROUTING -m layer7 --l7proto shoutcast -j MARK --set-mark  $MARKER_PRIO
#iptables -t mangle -A PREROUTING -m layer7 --l7proto ssh -j MARK --set-mark  $MARKER_PRIO
#iptables -t mangle -A PREROUTING -m layer7 --l7proto teamspeak -j MARK --set-mark  $MARKER_PRIO

### zapisanie marków
iptables -t mangle -A PREROUTING -j CONNMARK --save-mark

# zezwolenie nna loczenie sie z naszym zewnetrznym ip po ssh
iptables -A INPUT -s 0/0 -d $IP_NET -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -s 0/0 -d $IP_NET -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -s 0/0 -d $IP_LAN -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -s 0/0 -d $IP_LAN -p tcp --dport 22 -j ACCEPT

### NAT ###
iptables -t nat -A POSTROUTING -o $ETH_NET -j SNAT --to-source $IP_NET
iptables -t nat -A POSTROUTING -o $ETH_P2P -j SNAT --to-source $IP_P2P

############ UDOSTEPNIENIE NETU ####################

PIP=1 IP=100 MAK=00:02:44:7b:b4:d7 DLA=PUNIX
iptables -A FORWARD -m mac --mac-source $MAK -s 192.168.1.$IP -j ACCEPT

PIP=1 IP=133 MAK=00:e0:4c:86:31:db DLA=PUNIX
iptables -A FORWARD -m mac --mac-source $MAK -s 192.168.1.$IP -j ACCEPT

PIP=1 IP=134 MAK=00:00:e8:01:2c:ec DLA=PUNIX
iptables -A FORWARD -m mac --mac-source $MAK -s 192.168.1.$IP -j ACCEPT

PIP=2 IP=144 MAK=00:02:44:7b:b4:d7 DLA=PUNIX
iptables -A FORWARD -m mac --mac-source $MAK -s 192.168.1.$IP -j ACCEPT

ROUTING:

Kod:

IP_NET=83.19.239.206
IP_P2P=10.0.0.2
IP_LAN=192.168.1.1
IP_WLN=192.168.2.1

SIEC_NET=83.19.239.200/29
SIEC_P2P=10.0.0.0/29
SIEC_LAN=192.168.1.0/24
SIEC_WLN=192.168.2.0/24

MASKA_NET=/29
MASKA_P2P=/29
MASKA_LAN=/24
MASKA_WLN=/24

BRAMA_NET=83.19.239.201
BRAMA_P2P=10.0.0.1

ETH_NET=eth0
ETH_P2P=eth1
ETH_LAN=eth2
ETH_WLN=eth3

MARKER_PRIO=777

ip route add $SIEC_NET src $IP_NET via $BRAMA_NET dev $ETH_NET table inter
ip route add default via $IP_NET dev $ETH_NET table inter 
ip rule add fwmark $MARKER_PRIO table inter
ip route flush cache

ip route add $SIEC_P2P src $IP_P2P via $BRAMA_P2P dev $ETH_P2P table ptop
ip route add default via $IP_P2P dev $ETH_P2P table ptop
ip route flush cache

ip route add $SIEC_NET dev $ETH_NET src $IP_NET # to juz jest automatycznie w debiane w tabeli main
ip route add $SIEC_P2P dev $ETH_P2P src $IP_P2P # to juz jest automatycznie w debiane w tabeli main

ip route add default via $BRAMA_P2P  # to juz jest automatycznie w debiane w tabeli main

ip rule add from $IP_NET table inter
ip rule add from $IP_P2P table ptop

WYNIKI:

Kod:

punisher999:~# iptables -t mangle -L  -v
Chain PREROUTING (policy ACCEPT 272K packets, 157M bytes)
 pkts bytes target     prot opt in     out     source               destination
 2038  775K CONNMARK   0    --  any    any     anywhere             anywhere            CONNMARK restore
 1058  722K RETURN     0    --  any    any     anywhere             anywhere            MARK match !0x0
   17   816 MARK       tcp  --  any    any     anywhere             anywhere            tcp dpt:www MARK set 0x309
    3   144 MARK       tcp  --  any    any     anywhere             anywhere            tcp dpt:14534 MARK set 0x309
    0     0 MARK       0    --  any    any     anywhere             anywhere            LAYER7 l7proto ftp MARK set 0x309
  980 52810 CONNMARK   0    --  any    any     anywhere             anywhere            CONNMARK save

Chain INPUT (policy ACCEPT 19102 packets, 977K bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain FORWARD (policy ACCEPT 253K packets, 156M bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 32080 packets, 7454K bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain POSTROUTING (policy ACCEPT 285K packets, 163M bytes)
 pkts bytes target     prot opt in     out     source               destination

punisher999:~# ip route list table main
10.0.0.0/29 dev eth1  proto kernel  scope link  src 10.0.0.2
83.19.239.200/29 dev eth0  proto kernel  scope link  src 83.19.239.206
192.168.1.0/24 dev eth2  proto kernel  scope link  src 192.168.1.1
default via 10.0.0.1 dev eth1

punisher999:~# ip route list table inter
83.19.239.200/29 via 83.19.239.201 dev eth0  src 83.19.239.206
default via 83.19.239.206 dev eth0

punisher999:~# ip route list table ptop
10.0.0.0/29 via 10.0.0.1 dev eth1  src 10.0.0.2
default via 10.0.0.2 dev eth1

punisher999:~# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.0.0.0        0.0.0.0         255.255.255.248 U     0      0        0 eth1
83.19.239.200   0.0.0.0         255.255.255.248 U     0      0        0 eth0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth2
0.0.0.0         10.0.0.1        0.0.0.0         UG    0      0        0 eth1

punisher999:~# route -C -n
Kernel IP routing cache
Source          Destination     Gateway         Flags Metric Ref    Use Iface
81.173.3.250    192.168.1.133   192.168.1.133         0      0     2395 eth2
10.0.0.1        10.0.0.7        10.0.0.7        ibl   0      0        6 lo
192.168.1.1     192.168.1.133   192.168.1.133         0      8        1 eth2
192.168.1.133   81.173.3.250    10.0.0.1        i     0      0      477 eth1
192.168.1.133   192.168.1.1     192.168.1.1     il    0      0      469 lo
192.168.1.133   81.173.3.250    10.0.0.1              0      0      990 eth1
192.168.1.133   192.168.1.1     192.168.1.1     l     0      0      992 lo
punisher999:~#

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)