#!/bin/sh hmask=255.255.255.255 nmask0=0.0.0.0 nmask16=255.255.0.0 nmask24=255.255.255.0 nmask25=255.255.255.128 nmask28=255.255.255.240 nmask29=255.255.255.248 sg1=209.157.90.146 sg1a=209.157.90.150 net1=209.157.90.160 nmask1=$nmask29 sg2=207.236.55.216 sg2a=207.236.55.1 net2=192.168.2.0 nmask2=$nmask24 sg3=209.157.90.146 sg3a=209.157.90.150 net3=0.0.0.0 nmask3=$nmask0 sg4=207.236.55.216 sg4a=207.236.55.1 net4=209.157.90.192 nmask4=$nmask29 ipsecdev=ipsec0 case "$1" in setup) #depmod -a #modprobe ipsec #tncfg attach $ipsecdev eth0 #ifconfig $ipsecdev $sg1 netmask $nmask29 ;; # Transport mode tresp3desmd5) spi --edst $sg1 --spi 0x225 --esp 3des-md5-96 \ --iv 0x1000000000000001 \ --enckey 0x00150016001700180019001a001b001c001d001e001f0020 \ --authkey 0x00210022002300240025002600270028 route del $sg2 route add -host $sg2 dev $ipsecdev gw $sg1a eroute --add --src $sg1/$hmask \ --dst $sg2/$hmask \ --edst $sg2 --spi 0x235 spi --edst $sg2 --spi 0x235 --esp 3des-md5-96 \ --iv 0x1000000000000001 \ --enckey 0x000100020003000400050006000700080009000a000b000c \ --authkey 0x000d000e000f00100011001200130014 ;; tresp3desmd5del) spi --edst $sg1 --spi 0x225 --del eroute --del --src $sg1/$hmask \ --dst $sg2/$hmask route del $net2 spi --edst $sg2 --spi 0x235 --del ;; trahmd5) spi --edst $sg1 --spi 0x225 --ah md5 \ --authkey 0x66306630663031326630663066303146 route del $sg2 route add -host $sg2 dev $ipsecdev gw $sg1a eroute --add --src $sg1/$hmask \ --dst $sg2/$hmask \ --edst $sg2 --spi 0x235 spi --edst $sg2 --spi 0x235 --ah md5 \ --authkey 0x66306630663031326630663066303147 ;; trahmd5del) spi --edst $sg1 --spi 0x225 --del route del $sg2 eroute --del --src $sg1/$hmask \ --dst $sg2/$hmask spi --edst $sg2 --spi 0x235 --del ;; trespdes) spi --edst $sg1 --spi 0x225 --esp des \ --iv 0x6630663066306631 \ --enckey 0x6630663066303144 route del $sg2 route add -host $sg2 dev $ipsecdev gw $sg1a eroute --add --src $sg1/$hmask \ --dst $sg2/$hmask \ --edst $sg2 --spi 0x235 spi --edst $sg2 --spi 0x235 --esp des \ --iv 0x6630663066306631 \ --enckey 0x6630663066303145 ;; trespdesdel) spi --edst $sg1 --spi 0x225 --del route del $sg2 eroute --del --src $sg1/$hmask \ --dst $sg2/$hmask spi --edst $sg2 --spi 0x235 --del ;; trtu) route del $sg2 route add -host $sg2 dev $ipsecdev gw $sg1a eroute --add --src $sg1/$hmask \ --dst $sg2/$hmask \ --edst $sg2 --spi 0x235 spi --edst $sg2 --spi 0x235 --ip4 \ --src $sg1 --dst $sg2 ;; # Tunnel mode tuespdesahmd5) # return path spi --edst $sg1 --spi 0x205 --esp des \ --iv 0x6630663066306631 \ --enckey 0x6630663066303142 spi --edst $sg1 --spi 0x206 --ah md5 \ --authkey 0x66306630663031326630663066303142 # forward path route del $net2 route add -net $net2 netmask $nmask2 dev $ipsecdev gw $sg1a eroute --add --src $net1/$nmask1 \ --dst $net2/$nmask2 \ --edst $sg2 --spi 0x213 spi --edst $sg2 --spi 0x213 --ip4 \ --src $sg1 --dst $sg2 spi --edst $sg2 --spi 0x215 --esp des \ --iv 0x6630663066306631 \ --enckey 0x6630663066303143 spi --edst $sg2 --spi 0x216 --ah md5 \ --authkey 0x66306630663031326630663066303143 spigrp $sg2 0x213 \ $sg2 0x215 \ $sg2 0x216 ;; tuespdesahmd5del) # return path spi --edst $sg1 --spi 0x205 --del route del $net2 eroute --del --src $net1/$nmask1 \ --dst $net2/$nmask2 spi --edst $sg2 --spi 0x213 --del ;; tuesp3desmd5) # return path spi --edst $sg1 --spi 0x205 --esp 3des-md5-96 \ --iv 0x1000000000000001 \ --enckey 0x003d003e003f004000410042004300440045004600470048 \ --authkey 0x0049004a004b004c004d004e004f0050 route del $net2 route add -net $net2 dev $ipsecdev gw $sg1a # forward path eroute --add --src $net1/$nmask1 \ --dst $net2/$nmask2 \ --edst $sg2 --spi 0x213 spi --edst $sg2 --spi 0x213 --ip4 \ --src $sg1 --dst $sg2 spi --edst $sg2 --spi 0x215 --esp 3des-md5-96 \ --iv 0x1000000000000001 \ --enckey 0x0029002a002b002c002d002e002f00300031003200330034 \ --authkey 0x00350036003700380039003a003b003c spigrp $sg2 0x213 \ $sg2 0x215 ;; tuesp3desmd5del) # return path spi --edst $sg1 --spi 0x205 --del route del $net2 eroute --del --src $net1/$nmask1 \ --dst $net2/$nmask2 spi --edst $sg2 --spi 0x213 --del ;; turoadyou) # return path spi --edst $sg1 --spi 0x205 --esp 3des-md5-96 \ --iv 0x1000000000000001 --enckey 0x00650066006700680069006a006b006c006d006e006f0070 \ --authkey 0x00710072007300740075007600770078 # forward path route del $sg2 route add -host $sg2 dev $ipsecdev gw $sg1a eroute --add --src $net1/$nmask1 \ --dst $sg2/$hmask \ --edst $sg2 --spi 0x213 spi --edst $sg2 --spi 0x213 --ip4 \ --src $sg1 --dst $sg2 spi --edst $sg2 --spi 0x215 --esp 3des-md5-96 \ --iv 0x1000000000000001 --enckey 0x005100520053005400550056005700580059005a005b005c \ --authkey 0x005d005e005f00600061006200630064 spigrp $sg2 0x213 \ $sg2 0x215 ;; turoadyoudel) # return path spi --edst $sg1 --spi 0x205 --del # forward path route del $sg2 eroute --del --src $net1/$nmask1 \ --dst $sg2/$hmask spi --edst $sg2 --spi 0x213 --del ;; turoadme) # return path spi --edst $sg1 --spi 0x205 --esp 3des-md5-96 \ --iv 0x1000000000000001 \ --enckey 0x00650066006700680069006a006b006c006d006e006f0070 \ --authkey 0x00710072007300740075007600770078 # forward path route del $net2 route add -net $net2 netmask $nmask2 dev $ipsecdev gw $sg1a eroute --add --src $sg1/$hmask \ --dst $net2/$nmask2 \ --edst $sg2 --spi 0x213 spi --edst $sg2 --spi 0x213 --ip4 \ --src $sg1 --dst $sg2 spi --edst $sg2 --spi 0x215 --esp 3des-md5-96 \ --iv 0x1000000000000001 --enckey 0x005100520053005400550056005700580059005a005b005c \ --authkey 0x005d005e005f00600061006200630064 spigrp $sg2 0x213 \ $sg2 0x215 ;; turoadmedel) # return path spi --edst $sg1 --spi 0x205 --del route del $net2 # forward path eroute --del --src $sg1/$hmask \ --dst $net2/$nmask2 spi --edst $sg2 --spi 0x213 --del ;; tusgespdesahmd5) # return path spi --edst $sg1 --spi 0x205 --esp des \ --iv 0x6630663066306631 \ --enckey 0x6630663066303148 spi --edst $sg1 --spi 0x206 --ah md5 \ --authkey 0x66306630663031326630663066303148 # forward path route del $sg2 route add -host $sg2 dev $ipsecdev gw $sg1a eroute --add --src $sg1/$hmask \ --dst $sg2/$hmask \ --edst $sg2 --spi 0x213 spi --edst $sg2 --spi 0x213 --ip4 \ --src $sg1 --dst $sg2 spi --edst $sg2 --spi 0x215 --esp des \ --iv 0x6630663066306631 \ --enckey 0x6630663066303149 spi --edst $sg2 --spi 0x216 --ah md5 \ --authkey 0x66306630663031326630663066303149 spigrp $sg2 0x213 \ $sg2 0x215 \ $sg2 0x216 ;; tusgespdesahmd5del) # return path spi --edst $sg1 --spi 0x205 --del eroute --del --src $sg1/$hmask \ --dst $sg2/$hmask route del $net2 spi --edst $sg2 --spi 0x213 --del ;; tusgesp3desmd5) # return path spi --edst $sg1 --spi 0x205 --esp 3des-md5-96 \ --iv 0x1000000000000001 --enckey 0x00650066006700680069006a006b006c006d006e006f0070 \ --authkey 0x00710072007300740075007600770078 # forward path route del $sg2 route add -host $sg2 dev $ipsecdev gw $sg1a eroute --add --src $sg1/$hmask \ --dst $sg2/$hmask \ --edst $sg2 --spi 0x213 spi --edst $sg2 --spi 0x213 --ip4 \ --src $sg1 --dst $sg2 spi --edst $sg2 --spi 0x215 --esp 3des-md5-96 \ --iv 0x1000000000000001 --enckey 0x005100520053005400550056005700580059005a005b005c \ --authkey 0x005d005e005f00600061006200630064 spigrp $sg2 0x213 \ $sg2 0x215 ;; tusgesp3desmd5del) # return path spi --edst $sg1 --spi 0x205 --del eroute --del --src $sg1/$hmask \ --dst $sg2/$hmask route del $net2 spi --edst $sg2 --spi 0x213 --del ;; turealips) # forward path # if it needs it to avoid conflict with the next incantation route del $net4 route add -net $net4 netmask $nmask4 dev $ipsecdev gw $sg3a eroute --add --src $net3/$nmask3 \ --dst $net4/$nmask4 \ --edst $sg4 --spi 1500 spi --edst $sg4 --spi 1500 --ip4 \ --src $sg3 --dst $sg4 spi --edst $sg4 --spi 1501 --esp 3des-md5-96 \ --iv 0xAC38429489A4CAC2 \ --enckey 0xAC89ACE248107DA856C46EEA820A947313436C80B89043C2 \ --authkey 0xACF3DDD9A182E95D1384E1391322CAC2 spigrp $sg4 1500 \ $sg4 1501 # return path spi --edst $sg3 --spi 1503 --esp 3des-md5-96 \ --iv 0xAC38429489A4CAC2 \ --enckey 0xAC89ACE248107DA856C46EEA820A947313436C80B89043C2 \ --authkey 0xACF3DDD9A182E95D1384E1391322CAC2 ;; turealipsdel) route del $net4 # Don't forget to replace original deleted route if it existed eroute --del --src $net3/$nmask3 \ --dst $net4/$nmask4 spi --edst $sg4 --spi 1501 --del # return path spi --edst $sg3 --spi 1503 --del ;; proc) cat /proc/net/ipsec_* ;; esac