Click IP router config
Aniruddha Bohra
bohra at cs.rutgers.edu
Wed Jun 18 15:22:54 EDT 2003
Hello
I have a strange problem with the IP router configuration
I tried click in a configuration for an IP router,
customized and used conf/make-ip-conf.pl and generated
the router config file - Both the modified script and the
output it generates are attached
My setup is as follows :
H-1 ----> eth1 on
GW
eth2 on------> H-2
Now before I insert the module, I cannot ping the hosts - Good
When I do a click install with the file thus generated, I can ping them
However, if I try to open any connection (telnet, ssh...), the packets
are not seen.
(tcpdump) shows no packets on the relevant interface on the hosts.
I am surely missing something very basic here. How can I get it to
forward packets other than for ping ?
Thanks for the help
Cheers
Aniruddha
-------------- next part --------------
A non-text attachment was scrubbed...
Name: make-ip-conf.pl
Type: application/x-perl
Size: 6961 bytes
Desc: not available
Url : https://amsterdam.lcs.mit.edu/pipermail/click/attachments/20030618/2b3b198c/make-ip-conf.bin
-------------- next part --------------
// Generated by make-ip-conf.pl
// eth0 128.6.171.141 00:E0:29:0F:D5:FF
// eth1 10.10.10.13 00:04:76:DF:CE:58
// eth2 192.168.100.1 00:04:76:DD:29:78
// Shared IP input path and routing table
ip :: Strip(14)
-> CheckIPHeader(INTERFACES 128.6.171.141/255.255.255.0 10.10.10.13/255.255.255.0 192.168.100.1/255.255.255.0)
-> rt :: StaticIPLookup(
128.6.171.141/32 0,
128.6.171.255/32 0,
128.6.171.0/32 0,
10.10.10.13/32 0,
10.10.10.255/32 0,
10.10.10.0/32 0,
192.168.100.1/32 0,
192.168.100.255/32 0,
192.168.100.0/32 0,
128.6.171.0/255.255.255.0 1,
10.10.10.0/255.255.255.0 2,
192.168.100.0/255.255.255.0 3,
255.255.255.255/32 0.0.0.0 0,
0.0.0.0/32 0,
0.0.0.0/0.0.0.0 128.6.171.129 1);
// ARP responses are copied to each ARPQuerier and the host.
arpt :: Tee(4);
// Input and output paths for eth0
c0 :: Classifier(12/0806 20/0001, 12/0806 20/0002, 12/0800, -);
FromDevice(eth0) -> c0;
out0 :: Queue(200) -> todevice0 :: ToDevice(eth0);
c0[0] -> ar0 :: ARPResponder(128.6.171.141 00:E0:29:0F:D5:FF) -> out0;
arpq0 :: ARPQuerier(128.6.171.141, 00:E0:29:0F:D5:FF) -> out0;
c0[1] -> arpt;
arpt[0] -> [1]arpq0;
c0[2] -> Paint(1) -> ip;
c0[3] -> Print("eth0 non-IP") -> Discard;
// Input and output paths for eth1
c1 :: Classifier(12/0806 20/0001, 12/0806 20/0002, 12/0800, -);
FromDevice(eth1) -> c1;
out1 :: Queue(200) -> todevice1 :: ToDevice(eth1);
c1[0] -> ar1 :: ARPResponder(10.10.10.13 00:04:76:DF:CE:58) -> out1;
arpq1 :: ARPQuerier(10.10.10.13, 00:04:76:DF:CE:58) -> out1;
c1[1] -> arpt;
arpt[1] -> [1]arpq1;
c1[2] -> Paint(2) -> ip;
c1[3] -> Print("eth1 non-IP") -> Discard;
// Input and output paths for eth2
c2 :: Classifier(12/0806 20/0001, 12/0806 20/0002, 12/0800, -);
FromDevice(eth2) -> c2;
out2 :: Queue(200) -> todevice2 :: ToDevice(eth2);
c2[0] -> ar2 :: ARPResponder(192.168.100.1 00:04:76:DD:29:78) -> out2;
arpq2 :: ARPQuerier(192.168.100.1, 00:04:76:DD:29:78) -> out2;
c2[1] -> arpt;
arpt[2] -> [1]arpq2;
c2[2] -> Paint(3) -> ip;
c2[3] -> Print("eth2 non-IP") -> Discard;
// Local delivery
toh :: ToHost;
arpt[3] -> toh;
rt[0] -> IPReassembler -> ping_ipc :: IPClassifier(icmp type echo, -);
ping_ipc[0] -> ICMPPingResponder -> [0]rt;
ping_ipc[1] -> EtherEncap(0x0800, 1:1:1:1:1:1, 2:2:2:2:2:2) -> toh;
// Forwarding path for eth0
rt[1] -> DropBroadcasts
-> cp0 :: PaintTee(1)
-> gio0 :: IPGWOptions(128.6.171.141)
-> FixIPSrc(128.6.171.141)
-> dt0 :: DecIPTTL
-> fr0 :: IPFragmenter(1500)
-> [0]arpq0;
dt0[1] -> ICMPError(128.6.171.141, timeexceeded) -> rt;
fr0[1] -> ICMPError(128.6.171.141, unreachable, needfrag) -> rt;
gio0[1] -> ICMPError(128.6.171.141, parameterproblem) -> rt;
cp0[1] -> ICMPError(128.6.171.141, redirect, host) -> rt;
// Forwarding path for eth1
rt[2] -> DropBroadcasts
-> cp1 :: PaintTee(2)
-> gio1 :: IPGWOptions(10.10.10.13)
-> FixIPSrc(10.10.10.13)
-> dt1 :: DecIPTTL
-> fr1 :: IPFragmenter(1500)
-> [0]arpq1;
dt1[1] -> ICMPError(10.10.10.13, timeexceeded) -> rt;
fr1[1] -> ICMPError(10.10.10.13, unreachable, needfrag) -> rt;
gio1[1] -> ICMPError(10.10.10.13, parameterproblem) -> rt;
cp1[1] -> ICMPError(10.10.10.13, redirect, host) -> rt;
// Forwarding path for eth2
rt[3] -> DropBroadcasts
-> cp2 :: PaintTee(3)
-> gio2 :: IPGWOptions(192.168.100.1)
-> FixIPSrc(192.168.100.1)
-> dt2 :: DecIPTTL
-> fr2 :: IPFragmenter(1500)
-> [0]arpq2;
dt2[1] -> ICMPError(192.168.100.1, timeexceeded) -> rt;
fr2[1] -> ICMPError(192.168.100.1, unreachable, needfrag) -> rt;
gio2[1] -> ICMPError(192.168.100.1, parameterproblem) -> rt;
cp2[1] -> ICMPError(192.168.100.1, redirect, host) -> rt;
More information about the click
mailing list