freebsd 7.1 default ipv6 gateway problem

Network related discussions (including general TCP/IP stuff, routing, etc).

freebsd 7.1 default ipv6 gateway problem

Postby yavuzg » 05 Jun 2009, 13:41

Hi,

I have network consists of 2 computers(say A and B) and a router.

When I use rtsol in A, I can get the global scope ipv6 address and the default gateway properly.

But when I send fake router advertisement messages from B, A accepts advertisements and makes fake address as default gateway. Ä°s this the expected behaviour?

What is the procedure for selecting default router?

thanks in advance...

before I send fake messages from B

Code: Select all
# netstat -finet6 -rn

Routing tables
Internet6:
Destination                       Gateway                       Flags      Netif Expire
default                           fe80::***:cb0(real gateway)  UG         fxp0



after I send fake messages from B,

Code: Select all
# netstat -finet6 -rn

Routing tables
Internet6:
Destination                       Gateway                       Flags      Netif Expire
default                           fe80::***:a(fake gateway)  UG         fxp0



my configuration is:

Code: Select all
# sysctl -a | grep ip6
net.inet6.ip6.forwarding: 0
net.inet6.ip6.redirect: 1
net.inet6.ip6.hlim: 64
net.inet6.ip6.maxfragpackets: 4112
net.inet6.ip6.accept_rtadv: 1
net.inet6.ip6.keepfaith: 0
net.inet6.ip6.log_interval: 5
net.inet6.ip6.hdrnestlimit: 15
net.inet6.ip6.dad_count: 1
net.inet6.ip6.auto_flowlabel: 1
net.inet6.ip6.defmcasthlim: 1
net.inet6.ip6.gifhlim: 30
net.inet6.ip6.kame_version: FreeBSD
net.inet6.ip6.use_deprecated: 1
net.inet6.ip6.rr_prune: 5
net.inet6.ip6.v6only: 1
net.inet6.ip6.rtexpire: 3600
net.inet6.ip6.rtminexpire: 10
net.inet6.ip6.rtmaxcache: 128
net.inet6.ip6.use_tempaddr: 0
net.inet6.ip6.temppltime: 86400
net.inet6.ip6.tempvltime: 604800
net.inet6.ip6.auto_linklocal: 1
net.inet6.ip6.prefer_tempaddr: 0
net.inet6.ip6.use_defaultzone: 0
net.inet6.ip6.maxfrags: 4112
net.inet6.ip6.mcast_pmtu: 0


my system:
Code: Select all
# uname -a
FreeBSD pcname 7.1-RELEASE FreeBSD 7.1-RELEASE #0: Thu Jan  1 14:37:25 UTC 2009     root@logan.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  i386
yavuzg
Junior Member
 
Posts: 24
Joined: 03 Jun 2009, 11:20
Location: Turkey

Postby SirDice » 05 Jun 2009, 13:50

yavuzg wrote:I have network consists of 2 computers(say A and B) and a router.

When I use rtsol in A, I can get the global scope ipv6 address and the default gateway properly.

But when I send fake router advertisement messages from B, A accepts advertisements and makes fake address as default gateway. Ä°s this the expected behaviour?

Unfortunately, yes.

What is the procedure for selecting default router?

Running a properly setup rtadvd on the gateway or use dhcp6.

NB fe80:: addresses are link-local, non-routable addresses.
Senior UNIX Engineer at Unix Support Nederland
Experience is something you don't get until just after you need it.
User avatar
SirDice
Old Fart
 
Posts: 16149
Joined: 17 Nov 2008, 16:50
Location: Rotterdam, Netherlands

Postby yavuzg » 05 Jun 2009, 13:50

What is the procedure for selecting default router?


According to RFC 2461 "6.3.6. Default Router Selection" section, I think there is no need to update default router in my case.
yavuzg
Junior Member
 
Posts: 24
Joined: 03 Jun 2009, 11:20
Location: Turkey

Postby SirDice » 05 Jun 2009, 14:44

I've been playing with IPv6 for some time now and I see no reason why a client wouldn't pick up any 'new' router advertisements. How would the client know the gateway was changed? What if there appeared a 'better' route? As far as I understood it the purpose of using rtsol/rtadvd is to make the whole network more dynamic. The downside of this would be rogue router advertisements ruining it.
Senior UNIX Engineer at Unix Support Nederland
Experience is something you don't get until just after you need it.
User avatar
SirDice
Old Fart
 
Posts: 16149
Joined: 17 Nov 2008, 16:50
Location: Rotterdam, Netherlands

Postby yavuzg » 09 Jun 2009, 07:10

SirDice wrote:How would the client know the gateway was changed? What if there appeared a 'better' route? As far as I understood it the purpose of using rtsol/rtadvd is to make the whole network more dynamic. The downside of this would be rogue router advertisements ruining it.


Thanks for the answer. You are true, a client has to accept rtadvd messages in some manner. I want to learn the exact mechanism behind the router selection of freebsd network implementation.

in rfc 2461, section 6.3.6 says that:
The policy for selecting routers from the Default Router List is as
follows:

1) Routers that are reachable or probably reachable (i.e., in any
state other than INCOMPLETE) SHOULD be preferred over routers
whose reachability is unknown or suspect (i.e., in the
INCOMPLETE state, or for which no Neighbor Cache entry exists).
[color="Red"]An implementation may choose to always return the same router or
cycle through the router list in a round-robin fashion as long
as it always returns a reachable or a probably reachable router
when one is available.
[/color]


I think freebsd use round-robin fashion and this is the reason of my router change...
yavuzg
Junior Member
 
Posts: 24
Joined: 03 Jun 2009, 11:20
Location: Turkey


Return to Networking

Who is online

Users browsing this forum: No registered users and 0 guests