Greg Scott
2001-Nov-02 04:18 UTC
I don''t believe all this advanced routing stuff is real!
I''ll bet somebody, somewhere knows how answer this. I am running Red
Hat
Linux v7.1, which is based on kernel 2.4.2-2.
I went to this URL:
http://ds9a.nl/2.4Routing/HOWTO/cvs/2.4routing/output/2.4routing-5.html
As I understand things, this is the more or less official HOWTO for the
advanced routing stuff.
Well - how come none of it works???
In particular, the section about GRE tunneling gives some very specific
directions about the commands needed to set all of it up. Here is a direct
quote:
Let''s say you have 3 networks: Internal networks A and B, and
intermediate
network C (or let''s say, Internet).
So we have network A:
network 10.0.1.0
netmask 255.255.255.0
router 10.0.1.1
The router has address 172.16.17.18 on network C. Let''s call this
network
neta (ok, hardly original)
and network B:
network 10.0.2.0
netmask 255.255.255.0
router 10.0.2.1
The router has address 172.19.20.21 on network C. Let''s call this
network
netb (still not original)
As far as network C is concerned, we assume that it will pass any packet
sent from A to B and vice versa. How and why, we do not care.
On the router of network A, you do the following:
ip tunnel add netb mode gre remote 172.19.20.21 local 172.16.17.18
ttl 255
ip link set netb up
ip addr add 10.0.1.1 dev netb
ip route add 10.0.2.0/24 dev netb
Ok, wonderful. I did that and here is the result:
# /sbin/ip tunnel add netb mode gre remote nnn.qqq.228.33 local
xxx.yyy.172.162 ttl 255
ioctl: No such device
Huh? What''s going on here? So I tried a couple other experiments:
# /sbin/ip tunnel add netb
cannot determine tunnel mode (ipip, gre or sit)
Fair enough. Let''s add some more:
# /sbin/ip tunnel add netb mode gre
ioctl: No such device
Now I''m really confused. Maybe the online help gives me a clue:
# /sbin/ip help
Usage: ip [ OPTIONS ] OBJECT { COMMAND | help }
where OBJECT := { link | addr | route | rule | neigh | tunnel |
maddr | mroute | monitor }
OPTIONS := { -V[ersion] | -s[tatistics] | -r[esolve] |
-f[amily] { inet | inet6 | ipx | dnet | link } |
-o[neline]}
So let''s try a few things:
# /sbin/ip -V
ip utility, iproute2-ss000305
This seemed to work as advertised.
# /sbin/ip -s
Usage: ip [ OPTIONS ] OBJECT { COMMAND | help }
where OBJECT := { link | addr | route | rule | neigh | tunnel |
maddr | mroute | monitor }
OPTIONS := { -V[ersion] | -s[tatistics] | -r[esolve] |
-f[amily] { inet | inet6 | ipx | dnet | link } |
-o[neline]}
# /sbin/ip -r
Usage: ip [ OPTIONS ] OBJECT { COMMAND | help }
where OBJECT := { link | addr | route | rule | neigh | tunnel |
maddr | mroute | monitor }
OPTIONS := { -V[ersion] | -s[tatistics] | -r[esolve] |
-f[amily] { inet | inet6 | ipx | dnet | link } |
-o[neline]}
So -V does what the online help says it does, but -s and -r generate some
kind of syntax error.
What am I missing? Should I be modprobing some module someplace? If so,
what? How do I tell what modules are available and what they do? Or is all
this advanced routing stuff not ready for use yet?
- Greg Scott
Whit Blauvelt
2001-Nov-02 15:58 UTC
Re: I don''t believe all this advanced routing stuff is real!
On Thu, Nov 01, 2001 at 10:18:08PM -0600, Greg Scott wrote:> As I understand things, this is the more or less official HOWTO for the > advanced routing stuff. > > Well - how come none of it works???Don''t know if it''s what you''re running into, but certain parts of ''ip'' depend on certain options being compiled into the kernel - so some things not working is probably because the Red Hat version of the kernel you''re using doesn''t support them. Whether Red Hat has provided those functions in modules I don''t know - not sure whether they are all module choices if not compiled in. In my beginner''s opinion, that HOWTO would really benefit from a description of precisely which kernel options need to be chosen for various kernel versions. It does mention that you have to have the right options included, but then doesn''t specifically list them. On the other hand, in three of four 2.2.19 systems, I''ve managed to include them somehow and all ''ip'' functions appear operational. In the third, ''ip'' only partially works - fortunately it''s a system where I don''t need it. Anyway, I''d recommend gathering what hints you can, and rolling your own kernel. I''ve always needed features that distro kernels don''t support, and never cared to waste resources running kernels supporting features I don''t need. Whit @transpect.com
Arthur van Leeuwen
2001-Nov-12 08:53 UTC
Re: I don''t believe all this advanced routing stuff is real!
On Thu, 1 Nov 2001, Greg Scott wrote: [snip, that problem was fixed]> Now I''m really confused. Maybe the online help gives me a clue: > > # /sbin/ip help > Usage: ip [ OPTIONS ] OBJECT { COMMAND | help } > where OBJECT := { link | addr | route | rule | neigh | tunnel | > maddr | mroute | monitor } > OPTIONS := { -V[ersion] | -s[tatistics] | -r[esolve] | > -f[amily] { inet | inet6 | ipx | dnet | link } | > -o[neline]} > > So let''s try a few things: > > # /sbin/ip -V > ip utility, iproute2-ss000305 > > This seemed to work as advertised. > > # /sbin/ip -s > # /sbin/ip -r > > So -V does what the online help says it does, but -s and -r generate some > kind of syntax error.The ip tool is somewhat finicky in its input syntax. It does not at all behave like your usual Unix tools but is modeled more like Cisco IOS''s commands. Whether this is a good or a bad thing is debatable. However, the -s and -r options only apply when an object and/or command for that object have been specified. Doei, Arthur. -- /\ / | arthurvl@sci.kun.nl | Work like you don''t need the money /__\ / | A friend is someone with whom | Love like you have never been hurt / \/__ | you can dare to be yourself | Dance like there''s nobody watching