hmask=255.255.255.255 nmask0=0.0.0.0 nmask16=255.255.0.0 nmask24=255.255.255.0 nmask28=255.255.255.240 nmask29=255.255.255.248 local_sg=207.236.55.216 local_nexthop=207.236.55.1 local_sg_bcast=207.236.55.255 local_sg_nmask=$nmask24 local_net=192.168.2.0 local_nmask=$nmask24 remote_sg=209.157.90.146 remote_net=209.157.90.160 remote_nmask=$nmask29 ext_sg=209.157.90.198 ext_net=209.157.90.192 ext_bcast=209.157.90.199 ext_nmask=$nmask29 default_net=0.0.0.0 default_bcast=255.255.255.255 default_nmask=$nmask0 ipsecdev=ipsec1 aliasdev=eth0:1 physdev=eth2 iv=0x0123456789abcdef enckey8=0x0123456789abcdef enckey24=0x0123456789abcdef0123456789abcdef0123456789abcdef authkey16=0x0123456789abcdef0123456789abcdef authkey20=0x0123456789abcdef0123456789abcdef01234567
depmod -a # only if klips is compiled as a module modprobe ipsec # only if klips is compiled as a module tncfg --attach --virtual $ipsecdev --physical $physdev ifconfig $ipsecdev $local_sg broadcast $local_sg_bcast netmask $local_sg_nmask
tncfg --detach --virtual $ipsecdev ifconfig $ipsecdev down rmmod ipsec # only if klips is compiled as a moduleWarning: Each of the Setup scripts first deletes the route for the destinations it needs to protect, if it exists. When the route gets deleted with the deletion of the protected connection, that route will no longer exist. This route must be put back manually, or reboot the network configuration if it was installed automatically.
Assumptions: Both machines have had networking set up and can pass packets.
# forward path route del $remote_sg route add -host $remote_sg dev $ipsecdev gw $local_nexthop eroute --add --src $local_sg/$hmask \ --dst $remote_sg/$hmask \ --edst $remote_sg --spi 0x225 spi --edst $remote_sg --spi 0x225 --esp 3des-md5-96 \ --iv $iv \ --enckey $enckey24 \ --authkey $authkey16 # Return path spi --edst $local_sg --spi 0x235 --esp 3des-md5-96 \ --iv $iv \ --enckey $enckey24 \ --authkey $authkey16
# forward path spi --edst $remote_sg --spi 0x225 --del eroute --del --src $local_sg/$hmask --dst $remote_sg/$hmask route del $remote_sg # Return path spi --edst $local_sg --spi 0x235 --del
Assumptions: Any subnets have been set up and all machines can see the internet.
# forward path route del $remote_sg route add -host $remote_sg dev $ipsecdev gw $local_nexthop eroute --add --src $local_sg/$hmask \ --dst $remote_sg/$hmask \ --edst $remote_sg --spi 0x223 spi --edst $remote_sg --spi 0x223 --ip4 \ --src $local_sg --dst $remote_sg spi --edst $remote_sg --spi 0x225 --esp 3des-md5-96 \ --iv $iv \ --enckey $enckey24 \ --authkey $authkey16 spigrp $remote_sg 0x223 \ $remote_sg 0x225 # return path spi --edst $local_sg --spi 0x235 --esp 3des-md5-96 \ --iv $iv \ --enckey $enckey24 \ --authkey $authkey16
# forward path eroute --del --src $local_sg/$hmask \ --dst $remote_sg/$hmask route del $remote_sg spi --edst $remote_sg --spi 0x223 --del # return path spi --edst $local_sg --spi 0x235 --del
# forward path route del $remote_net route add -net $remote_net dev $ipsecdev gw $local_nexthop eroute --add --src $local_net/$local_nmask \ --dst $remote_net/$remote_nmask \ --edst $remote_sg --spi 0x223 spi --edst $remote_sg --spi 0x223 --ip4 \ --src $local_sg --dst $remote_sg spi --edst $remote_sg --spi 0x225 --esp 3des-md5-96 \ --iv $iv \ --enckey $enckey24 \ --authkey $authkey16 spigrp $remote_sg 0x223 \ $remote_sg 0x225 # return path spi --edst $local_sg --spi 0x235 --esp 3des-md5-96 \ --iv $iv \ --enckey $enckey24 \ --authkey $authkey16
eroute --del --src $local_net/$local_nmask \ --dst $remote_net/$remote_nmask route del $remote_net spi --edst $local_sg --spi 0x235 --del # return path spi --edst $remote_sg --spi 0x223 --del
Assumptions: All machines are set up to see each other and the internet.
# forward path route del $remote_net route add -net $remote_net netmask $remote_nmask dev $ipsecdev gw $local_nexthop eroute --add --src $local_sg/$hmask \ --dst $remote_net/$remote_nmask \ --edst $remote_sg --spi 0x223 spi --edst $remote_sg --spi 0x223 --ip4 \ --src $local_sg --dst $remote_sg spi --edst $remote_sg --spi 0x225 --esp 3des-md5-96 \ --iv $iv \ --enckey $enckey24 \ --authkey $authkey16 spigrp $remote_sg 0x223 \ $remote_sg 0x225 # return path spi --edst $local_sg --spi 0x235 --esp 3des-md5-96 \ --iv $iv \ --enckey $enckey24 \ --authkey $authkey16
# forward path route del $remote_net eroute --del --src $local_sg/$hmask \ --dst $remote_net/$remote_nmask spi --edst $remote_sg --spi 0x223 --del # return path spi --edst $local_sg --spi 0x235 --del
# forward path route del $remote_sg route add -host $remote_sg dev $ipsecdev gw $local_nexthop eroute --add --src $local_net/$local_nmask \ --dst $remote_sg/$hmask \ --edst $remote_sg --spi 0x223 spi --edst $remote_sg --spi 0x223 --ip4 \ --src $local_sg --dst $remote_sg spi --edst $remote_sg --spi 0x225 --esp 3des-md5-96 \ --iv $iv \ --enckey $enckey24 \ --authkey $authkey16 spigrp $remote_sg 0x223 \ $remote_sg 0x225 # return path spi --edst $local_sg --spi 0x235 --esp 3des-md5-96 \ --iv $iv \ --enckey $enckey24 \ --authkey $authkey16
# forward path route del $remote_sg eroute --del --src $local_net/$local_nmask \ --dst $remote_sg/$hmask spi --edst $remote_sg --spi 0x223 --del # return path spi --edst $local_sg --spi 0x235 --del
Assumptions: The masqueraded subnet has been set up and all machines can see the internet.
# forward path route del $remote_net route add -net $remote_net dev $ipsecdev gw $local_nexthop eroute --add --src $local_net/$local_nmask \ --dst $remote_net/$remote_nmask \ --edst $remote_sg --spi 0x223 ipfwadm -F -i accept -S $local_net/$local_nmask -D $remote_net/$remote_nmask spi --edst $remote_sg --spi 0x223 --ip4 \ --src $local_sg --dst $remote_sg spi --edst $remote_sg --spi 0x225 --esp 3des-md5-96 \ --iv $iv \ --enckey $enckey24 \ --authkey $authkey16 spigrp $remote_sg 0x223 \ $remote_sg 0x225 # return path spi --edst $local_sg --spi 0x235 --esp 3des-md5-96 \ --iv $iv \ --enckey $enckey24 \ --authkey $authkey16
# forward path eroute --del --src $local_net/$local_nmask \ --dst $remote_net/$remote_nmask ipfwadm -F -d accept -S $local_net/$local_nmask -D $remote_net/$remote_nmask route del $remote_net spi --edst $local_sg --spi 0x235 --del # return path spi --edst $remote_sg --spi 0x223 --del
Assumptions: A masqueraded subnet has been set up and all machines can see the internet. Each machine on the extruded subnet will need to route all packets to the remote subnet (in this case the entire internet) via the I/F (direct or aliased) that has been configured with an extruded valid internet address.
# set up superimposed valid internet subnet with interface aliases ifconfig $aliasdev $ext_sg broadcast $ext_bcast netmask $ext_nmask route add -net $ext_net netmask $ext_nmask dev $aliasdev # forward path route del $default_net route add -net $default_net dev $ipsecdev gw $local_nexthop eroute --add --src $ext_net/$ext_nmask \ --dst $default_net/$default_nmask \ --edst $remote_sg --spi 0x223 ipfwadm -F -i accept -S $ext_net/$ext_nmask -D $default_net/$default_nmask spi --edst $remote_sg --spi 0x223 --ip4 \ --src $local_sg --dst $remote_sg spi --edst $remote_sg --spi 0x225 --esp 3des-md5-96 \ --iv $iv \ --enckey $enckey24 \ --authkey $authkey16 spigrp $remote_sg 0x223 \ $remote_sg 0x225 # return path spi --edst $local_sg --spi 0x235 --esp 3des-md5-96 \ --iv $iv \ --enckey $enckey24 \ --authkey $authkey16
# forward path eroute --del --src $ext_net/$ext_nmask \ --dst $default_net/$default_nmask ipfwadm -F -d accept -S $ext_net/$ext_nmask -D $default_net/$default_nmask route del $default_net spi --edst $local_sg --spi 0x235 --del # return pathf spi --edst $remote_sg --spi 0x223 --del
Assumptions: Both machines have had networking set up and can pass packets.
# forward path route del $remote_sg route add -host $remote_sg dev $ipsecdev gw $local_nexthop eroute --add --src $local_sg/$hmask \ --dst $remote_sg/$hmask \ --edst $remote_sg --spi 0x225 spi --edst $remote_sg --spi 0x225 --ah hmac-md5-96 \ --authkey $authkey16 # Return path spi --edst $local_sg --spi 0x235 --ah hmac-md5-96 \ --authkey $authkey16
# forward path spi --edst $remote_sg --spi 0x225 --del eroute --del --src $local_sg/$hmask --dst $remote_sg/$hmask route del $remote_sg # Return path spi --edst $local_sg --spi 0x235 --del
# forward path route del $remote_sg route add -host $remote_sg dev $ipsecdev gw $local_nexthop eroute --add --src $local_sg/$hmask \ --dst $remote_sg/$hmask \ --edst $remote_sg --spi 0x225 spi --edst $remote_sg --spi 0x225 --ah hmac-sha1-96 \ --authkey $authkey20 # Return path spi --edst $local_sg --spi 0x235 --ah hmac-sha1-96 \ --authkey $authkey20
# forward path spi --edst $remote_sg --spi 0x225 --del eroute --del --src $local_sg/$hmask --dst $remote_sg/$hmask route del $remote_sg # Return path spi --edst $local_sg --spi 0x235 --del
# forward path route del $remote_sg route add -host $remote_sg dev $ipsecdev gw $local_nexthop eroute --add --src $local_sg/$hmask \ --dst $remote_sg/$hmask \ --edst $remote_sg --spi 0x225 spi --edst $remote_sg --spi 0x225 --esp null-md5-96 \ --authkey $authkey20 # Return path spi --edst $local_sg --spi 0x235 --esp null-md5-96 \ --authkey $authkey20
# forward path spi --edst $remote_sg --spi 0x225 --del eroute --del --src $local_sg/$hmask --dst $remote_sg/$hmask route del $remote_sg # Return path spi --edst $local_sg --spi 0x235 --del
# forward path route del $remote_sg route add -host $remote_sg dev $ipsecdev gw $local_nexthop eroute --add --src $local_sg/$hmask \ --dst $remote_sg/$hmask \ --edst $remote_sg --spi 0x225 spi --edst $remote_sg --spi 0x225 --esp 3des-md5-96 \ --iv $iv \ --enckey $enckey24 \ --authkey $authkey16 # Return path spi --edst $local_sg --spi 0x235 --esp 3des-md5-96 \ --iv $iv \ --enckey $enckey24 \ --authkey $authkey16
# forward path spi --edst $remote_sg --spi 0x225 --del eroute --del --src $local_sg/$hmask --dst $remote_sg/$hmask route del $remote_sg # Return path spi --edst $local_sg --spi 0x235 --del
# forward path route del $remote_sg route add -host $remote_sg dev $ipsecdev gw $local_nexthop eroute --add --src $local_sg/$hmask \ --dst $remote_sg/$hmask \ --edst $remote_sg --spi 0x225 spi --edst $remote_sg --spi 0x225 --esp 3des \ --iv $iv \ --enckey $enckey24 spi --edst $remote_sg --spi 0x226 --ah hmac-md5 \ --authkey $authkey16 spigrp $local_sg 0x225 \ $local_sg 0x226 # Return path spi --edst $local_sg --spi 0x235 --esp 3des \ --iv $iv \ --enckey $enckey24 spi --edst $local_sg --spi 0x236 --ah hmac-md5 \ --authkey $authkey16
# forward path spi --edst $remote_sg --spi 0x225 --del eroute --del --src $local_sg/$hmask --dst $remote_sg/$hmask route del $remote_sg # Return path spi --edst $local_sg --spi 0x235 --del
# forward path route del $remote_sg route add -host $remote_sg dev $ipsecdev gw $local_nexthop eroute --add --src $local_sg/$hmask \ --dst $remote_sg/$hmask \ --edst $remote_sg --spi 0x225 spi --edst $remote_sg --spi 0x225 --esp des-md5-96 \ --iv $iv \ --enckey $enckey8 \ --authkey $authkey16 # Return path spi --edst $local_sg --spi 0x235 --esp des-md5-96 \ --iv $iv \ --enckey $enckey8 \ --authkey $authkey16
# forward path spi --edst $remote_sg --spi 0x225 --del eroute --del --src $local_sg/$hmask --dst $remote_sg/$hmask route del $remote_sg # Return path spi --edst $local_sg --spi 0x235 --del
# forward path route del $remote_sg route add -host $remote_sg dev $ipsecdev gw $local_nexthop eroute --add --src $local_sg/$hmask \ --dst $remote_sg/$hmask \ --edst $remote_sg --spi 0x225 spi --edst $remote_sg --spi 0x225 --esp 3des-sha1-96 \ --iv $iv \ --enckey $enckey24 \ --authkey $authkey20 # Return path spi --edst $local_sg --spi 0x235 --esp 3des-sha1-96 \ --iv $iv \ --enckey $enckey24 \ --authkey $authkey20
# forward path spi --edst $remote_sg --spi 0x225 --del eroute --del --src $local_sg/$hmask --dst $remote_sg/$hmask route del $remote_sg # Return path spi --edst $local_sg --spi 0x235 --del
cat /proc/net/ipsec_*