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