Quagga OSPF v2 Routing

NiclasM

Enthusiast
Thread Starter
Mitglied seit
06.02.2007
Beiträge
4.331
Ort
Dortmund
Hi,

mein Routing funktioniert nicht. Und ich finde den Fehler nicht.

Ich habe ein netcore Router. Verbindungen zwischen Routern wird per OpenVPN (Topology Subnet) aufgebaut.

netcore Quagga Config

ifconfig
root@netcore01:~# ifconfig
eth0 Link encap:Ethernet HWaddr 00:15:5d:50:8a:6c
inet addr:10.175.0.61 Bcast:10.175.0.63 Mask:255.255.255.192
inet6 addr: fe80::215:5dff:fe50:8a6c/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:397829 errors:0 dropped:0 overruns:0 frame:0
TX packets:303408 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:46492304 (44.3 MiB) TX bytes:33918802 (32.3 MiB)

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:5319 errors:0 dropped:0 overruns:0 frame:0
TX packets:5319 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:475242 (464.1 KiB) TX bytes:475242 (464.1 KiB)

tun-nc01-1194 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:10.175.255.1 P-t-P:10.175.255.1 Mask:255.255.255.0
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:63078 errors:0 dropped:0 overruns:0 frame:0
TX packets:63873 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:4430910 (4.2 MiB) TX bytes:4375418 (4.1 MiB)

zebra.conf

netcore01# show runn

Current configuration:
!
hostname netcore01
password 8 HRZWE.GO8fFYo
service password-encryption
!
interface eth0
ipv6 nd suppress-ra
!
interface lo
!
interface tun-nc01-1194
ipv6 nd suppress-ra
!
ip forwarding
!
!
line vty
!
end

ospfd.conf

netcore01# show runn

Current configuration:
!
hostname netcore01
password 8 lnR.Juu99unXo
service password-encryption
!
!
!
interface eth0
ip ospf hello-interval 2
ip ospf dead-interval 6
ip ospf retransmit-interval 3
!
interface lo
!
interface tun-nc01-1194
ip ospf hello-interval 2
ip ospf dead-interval 6
!
router ospf
ospf router-id 10.175.0.61
passive-interface default
no passive-interface eth0
no passive-interface tun-nc01-1194
network 10.175.0.0/26 area 0.0.0.0
network 10.175.255.0/24 area 0.0.0.0
!
line vty
!
end




Client Router

ifconfig
root@srv-vpn001:~# ifconfig
eth0 Link encap:Ethernet HWaddr 00:15:5d:00:c1:00
inet addr:10.0.0.195 Bcast:10.0.0.223 Mask:255.255.255.224
inet6 addr: fe80::215:5dff:fe00:c100/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:4064257 errors:0 dropped:0 overruns:0 frame:0
TX packets:3104032 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:506832138 (483.3 MiB) TX bytes:381134814 (363.4 MiB)

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:9925 errors:0 dropped:0 overruns:0 frame:0
TX packets:9925 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:647551 (632.3 KiB) TX bytes:647551 (632.3 KiB)

tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:10.175.255.2 P-t-P:10.175.255.2 Mask:255.255.255.0
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:63332 errors:0 dropped:0 overruns:0 frame:0
TX packets:62720 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:4329890 (4.1 MiB) TX bytes:4411666 (4.2 MiB)

zebra.conf

c-sw-dbs-rt01# show runn

Current configuration:
!
hostname c-sw-dbs-rt01
password Kennwort1
!
interface eth0
link-detect
ipv6 nd suppress-ra
!
interface lo
!
interface tun0
link-detect
multicast
ipv6 nd suppress-ra
!
ip route 10.0.0.0/24 10.0.0.222
!
ip forwarding
!
!
line vty
!
end

ospfd.conf

c-sw-dbs-rt01# show runn

Current configuration:
!
hostname c-sw-dbs-rt01
password Kennwort1
!
!
!
interface eth0
!
interface lo
!
interface tun0
ip ospf hello-interval 2
ip ospf dead-interval 6
!
router ospf
ospf router-id 10.0.0.195
redistribute static
passive-interface default
no passive-interface tun0
network 10.0.0.192/27 area 0.0.0.0
network 10.175.255.0/24 area 0.0.0.0
!
line vty
!
end





netcore01 ospf router

netcore01# show ip ospf route
============ OSPF network routing table ============
N 10.0.0.192/27 [20] area: 0.0.0.0
via 10.175.255.2, tun-nc01-1194
N 10.175.0.0/26 [10] area: 0.0.0.0
directly attached to eth0
N 10.175.255.0/24 [10] area: 0.0.0.0
directly attached to tun-nc01-1194

============ OSPF router routing table =============
R 10.0.0.195 [10] area: 0.0.0.0, ASBR
via 10.175.255.2, tun-nc01-1194

============ OSPF external routing table ===========
N E2 10.0.0.0/24 [20/20] tag: 0
via 10.175.255.2, tun-nc01-1194


Client Router ospf router

c-sw-dbs-rt01# show ip ospf route
============ OSPF network routing table ============
N 10.0.0.192/27 [10] area: 0.0.0.0
directly attached to eth0
N 10.175.0.0/26 [20] area: 0.0.0.0
via 10.175.255.1, tun0
N 10.175.255.0/24 [10] area: 0.0.0.0
directly attached to tun0

============ OSPF router routing table =============

============ OSPF external routing table ===========




Ergebnis des ganzen.

netcore01 Netzwerk (10.175.0.0/26) kann von Client Router angepingt werden
netcore01 Netzwerk und netcore01 selbst kann die lokale IP Adresse und das Subnetz von Client Router (10.0.0.192/27) nicht anpingen.


jemand eine Idee?:sick::wall:
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
der routing tabelle zufolge, sieht das ganze eigtl iO aus. Adjacencies scheinen da zu sein und die Routen werden auch ausgetauscht.

Hast du mal geschaut, ob per tcpdump am client router überhaupt was von deinen pings ankommt? Geht der netcore01 vll mit einer anderen Source IP beim Pingen zum Clientrouter raus, wovon dieser keine Route kennt?

Und warum OSPF? Ich hätte ehr BGP genommen. Lässt sich meiner Meinung nach besser steuern.

Gruß
Alex
 
BGP ist für Internet Routing gedacht, und OSPF für Intranet.
Klar kann ich's missbrauchen aber ich will erstmal OSPF können.

Habe letztens meinen CCENT gemacht und demnächst CCNA etc.
Will damit trainieren, bzw. rumspielen.

Meiner Meinung nach sollte auch alles gehen. Das mit TCP Dump ist eine gute Idee.

Nur Wie? TCPDump schmeißt mir die ganzen OpenVPN Pakete rein. und grep hilft irgendwie nicht.

Achja

root@netcore01:~# traceroute -n 10.0.0.195
traceroute to 10.0.0.195 (10.0.0.195), 30 hops max, 60 byte packets
1 * * *
2 * * *
3 * * *
4 * * *
5 * * *
6 * * *
7 * * *
8 * * *
9 * * *
10 * * *
11 * * *
12 * * *
13 * * *
14 * * *
15 * * *
16 * * *
17 * * *
18 * * *
19 * * *
20 * * *
21 * * *
22 * * *
23 * * *
24 * * *
25 * * *
26 * * *
27 * * *
28 * * *
29 * * *
30 * * *

:hmm:
 
BGP kann man auch im IBGP verwenden ;) Verwenden wir auf Arbeit beispielsweise für die Koppelung von Standorten

Zum Thema TCPDump:
tcpdump -n icmp
Damit siehst du wirklich nur ICMP bzw eben Pingpackete.

Was du auch mal machen kannst, dass du auf deinem netcore1 mal einen ping mit einer Source Addresse ausführst, von welcher der Client Rechner die Route definitiv kennt.
Beim Quagga bin ich mir nicht sicher wie das geht, aber bei Cisco, Brocade, Juniper etc ist etwas wie "ping source SOURCE_IP ZIEL_IP" gültig.

Gruß
Alex
 
Zuletzt bearbeitet:
root@netcore01:~# ping 10.175.255.2
PING 10.175.255.2 (10.175.255.2) 56(84) bytes of data.
64 bytes from 10.175.255.2: icmp_req=1 ttl=64 time=34.8 ms
64 bytes from 10.175.255.2: icmp_req=2 ttl=64 time=34.1 ms

root@srv-vpn001:~# tcpdump -n icmp -i tun0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on tun0, link-type RAW (Raw IP), capture size 65535 bytes
10:34:59.162604 IP 10.175.255.1 > 10.175.255.2: ICMP echo request, id 3013, seq 1, length 64
10:34:59.162643 IP 10.175.255.2 > 10.175.255.1: ICMP echo reply, id 3013, seq 1, length 64
10:35:00.167434 IP 10.175.255.1 > 10.175.255.2: ICMP echo request, id 3013, seq 2, length 64
10:35:00.167455 IP 10.175.255.2 > 10.175.255.1: ICMP echo reply, id 3013, seq 2, length 64
10:35:01.170986 IP 10.175.255.1 > 10.175.255.2: ICMP echo request, id 3013, seq 3, length 64
10:35:01.171007 IP 10.175.255.2 > 10.175.255.1: ICMP echo reply, id 3013, seq 3, length 64
10:35:02.175135 IP 10.175.255.1 > 10.175.255.2: ICMP echo request, id 3013, seq 4, length 64
10:35:02.175156 IP 10.175.255.2 > 10.175.255.1: ICMP echo reply, id 3013, seq 4, length 64

Mir scheint es fast so, dass der netcore01 nicht weiß (obwohl es in der Routing Tabelle Steht) dass das
10.0.0.0/24 und 10.0.0.192/27 Netz über die 10.175.255.2 läuft.

Wenn ich Versuche die 10.0.0.195 zu Pingen, kommt bei tcpdump auf srv-vpn001 nichts an.

root@netcore01:~# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 10.175.0.62 0.0.0.0 UG 0 0 0 eth0
10.0.0.0 10.175.255.2 255.255.255.0 UG 20 0 0 tun-nc01-1194
10.0.0.192 10.175.255.2 255.255.255.224 UG 20 0 0 tun-nc01-1194
10.175.0.0 * 255.255.255.192 U 0 0 0 eth0
10.175.255.0 * 255.255.255.0 U 0 0 0 tun-nc01-1194
 
Geht der ping auch am richtigen Interface deines Netcore01 raus?

ggf mal folgendes testen "ping -I tun-nc01-1194 10.0.0.195"
 
Passiert leider auch nichts.

root@netcore01:~# ping -I tun-nc01-1194 10.0.0.195
PING 10.0.0.195 (10.0.0.195) from 10.175.255.1 tun-nc01-1194: 56(84) bytes of data.


Ich verstehe jedoch nicht warum dass hier funktioniert.
root@srv-vpn001:~# ping 10.175.0.62
PING 10.175.0.62 (10.175.0.62) 56(84) bytes of data.
64 bytes from 10.175.0.62: icmp_req=1 ttl=63 time=143 ms
64 bytes from 10.175.0.62: icmp_req=2 ttl=63 time=33.1 ms

Dann weiß der netcore01 ja seine Rückroute. Sowas ist immer total Komisch. Einer kann Pingen, was die Hin und Rückroute benötigt auf allen Routern aber der Partner Kann nicht zurück Pingen.


ps:

sysctl.conf auf beiden passt auch denk ich

root@netcore01:~# cat /etc/sysctl.conf
#
# /etc/sysctl.conf - Configuration file for setting system variables
# See /etc/sysctl.d/ for additonal system variables
# See sysctl.conf (5) for information.
#

#kernel.domainname = example.com

# Uncomment the following to stop low-level messages on console
#kernel.printk = 3 4 1 3

##############################################################3
# Functions previously found in netbase
#

# Uncomment the next two lines to enable Spoof protection (reverse-path filter)
# Turn on Source Address Verification in all interfaces to
# prevent some spoofing attacks
net.ipv4.conf.default.rp_filter=0
net.ipv4.conf.all.rp_filter=0

# Uncomment the next line to enable TCP/IP SYN cookies
# See http://lwn.net/Articles/277146/
# Note: This may impact IPv6 TCP sessions too
#net.ipv4.tcp_syncookies=1

# Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.ip_forward=1

# Uncomment the next line to enable packet forwarding for IPv6
# Enabling this option disables Stateless Address Autoconfiguration
# based on Router Advertisements for this host
#net.ipv6.conf.all.forwarding=1


###################################################################
# Additional settings - these settings can improve the network
# security of the host and prevent against some network attacks
# including spoofing attacks and man in the middle attacks through
# redirection. Some network environments, however, require that these
# settings are disabled so review and enable them as needed.
#
# Do not accept ICMP redirects (prevent MITM attacks)
#net.ipv4.conf.all.accept_redirects = 0
#net.ipv6.conf.all.accept_redirects = 1
# _or_
# Accept ICMP redirects only for gateways listed in our default
# gateway list (enabled by default)
#net.ipv4.conf.all.secure_redirects = 1
#
# Do not send ICMP redirects (we are not a router)
#net.ipv4.conf.all.send_redirects = 1
#
# Do not accept IP source route packets (we are not a router)
#net.ipv4.conf.all.accept_source_route = 1
#net.ipv6.conf.all.accept_source_route = 0
#
# Log Martian Packets
#net.ipv4.conf.all.log_martians = 1
#

root@srv-vpn001:~# cat /etc/sysctl.conf
#
# /etc/sysctl.conf - Configuration file for setting system variables
# See /etc/sysctl.d/ for additonal system variables
# See sysctl.conf (5) for information.
#

#kernel.domainname = example.com

# Uncomment the following to stop low-level messages on console
#kernel.printk = 3 4 1 3

##############################################################3
# Functions previously found in netbase
#

# Uncomment the next two lines to enable Spoof protection (reverse-path filter)
# Turn on Source Address Verification in all interfaces to
# prevent some spoofing attacks
net.ipv4.conf.default.rp_filter=0
net.ipv4.conf.all.rp_filter=0

# Uncomment the next line to enable TCP/IP SYN cookies
# See http://lwn.net/Articles/277146/
# Note: This may impact IPv6 TCP sessions too
#net.ipv4.tcp_syncookies=1

# Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.ip_forward=1

# Uncomment the next line to enable packet forwarding for IPv6
# Enabling this option disables Stateless Address Autoconfiguration
# based on Router Advertisements for this host
#net.ipv6.conf.all.forwarding=1


###################################################################
# Additional settings - these settings can improve the network
# security of the host and prevent against some network attacks
# including spoofing attacks and man in the middle attacks through
# redirection. Some network environments, however, require that these
# settings are disabled so review and enable them as needed.
#
# Do not accept ICMP redirects (prevent MITM attacks)
#net.ipv4.conf.all.accept_redirects = 0
#net.ipv6.conf.all.accept_redirects = 0
# _or_
# Accept ICMP redirects only for gateways listed in our default
# gateway list (enabled by default)
# net.ipv4.conf.all.secure_redirects = 1
#
# Do not send ICMP redirects (we are not a router)
#net.ipv4.conf.all.send_redirects = 0
#
# Do not accept IP source route packets (we are not a router)
#net.ipv4.conf.all.accept_source_route = 0
#net.ipv6.conf.all.accept_source_route = 0
#
# Log Martian Packets
#net.ipv4.conf.all.log_martians = 1
#
 
das ist echt merkwüdig... schonmal mit tcpdump geschaut, ob die ICMP Pakete auch am richtigen Interface rausgehen?

rein vom logischen her sollte das eigtl 1A funktionieren. Selbst die Passive konfiguration der Interface schaut gut aus.


Btw hängt an Netcore01 eth0 auch noch eine OSPF Area? Weil das interface ebenfalls nicht passive ist.


Ach noch was. Sofern du bei den Zertifizierungen weiter machen willst, ist der CCNA ja eh "required" bzw als Vorstufe zu den anderen benötigt, aber sofern du den einfach nur wegen "haben will" machen willst: lass es sein. Das Geld ist es nicht Wert, und das Ding ist Wertlos. Meiner Meinung nach zu mindest.

Wenn du aber Hilfe brauchst, sag einfach bescheid. OSPF, BGP, Switching, MPLS, ISIS etc. ist mein täglich Brot. Zwar ehr auf Juniper und Brocade(sehr Cisco ähnliche CLI), aber sofern man die Protokolle kennt und weiß wie sie tun, sind andere Hersteller auch nicht mehr so schwer.
 
Zuletzt bearbeitet:
Ich mache den CCNA, weil ich wissen möchte wie es funktioniert. Ich bin gegen Ende meiner Ausbildung zum FiSi und habe verschiedenste MCSA's und MCSE's und andere Zertifizierungen. Mir machen die Prüfungen und das Lernen Spaß. Ich sauge das Wissen gänßlich auf. Den Effekt dass sich das "Lohnt" habe ich auch schon festgestellt. Jedoch Studiere ich bald und baue meine Selbstständigkeit aus.
Technik ist mein Leben, und ich liebe es mich damit zu beschäftigen. Nur habe ich leider kaum jemanden der sich A. mit den Techniken auskennt, und B. der Zeit hat mir zu helfen.

Deswegen würde ich gerne auf dein Angebot zurück kommen. Kannst mir per PN schreiben, welche Kommunikationsart du am liebsten hast.

BTT:

Netcore01 hängt im Subnetz wo meine Sophos auch drin hängt. Dort ist auch OSPF Aktiviert. Hello und Death Time passen. Die Sophos hat die 10.175.0.62/27.
Damit die Hosts, welche die Sophos als GW benutzen, auch direkt in alle OSPF Netze kommen können.

Ich habe auf dem srv-vpn001 eine statische Route Konfiguriert und redistribute static aktiviert. Da Im Netz von srv-vpn001 noch andere Netze liegen, jedoch der VPN Server nicht direkt damit verbunden ist, und der L3 Switch dahinter kein OSPF kann.

Ich lerne über CBTNuggets.com. Die Videos gefallen mir sehr gut und Jeremy ist echt ein super Lehrer. :wink:
 
Problem gelöst, Problem war das Quagga, bzw irgendwas OpenVPN Topology Subnet und net30 nicht mag. nur p2p geht...
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh