#!/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=207.236.55.216 sg1a=207.236.55.1 net1=192.168.2.0 bcast1=207.236.55.255 nmask1=$nmask24 sg2=209.157.90.146 sg2a=209.157.90.150 net2=209.157.90.160 bcast2=209.157.90.167 nmask2=$nmask29 sg3=207.236.55.216 sg3a=207.236.55.1 net3=209.157.90.192 bcast3=207.236.55.255 nmask3=$nmask29 sg4=209.157.90.146 sg4a=209.157.90.150 net4=0.0.0.0 bcast4=255.255.255.255 nmask4=$nmask0 ipsecdev=ipsec1 case "$1" in setup) depmod -a modprobe ipsec ipsec tncfg --attach --virtual $ipsecdev --physical eth2 ifconfig $ipsecdev $sg1 broadcast $bcast1 netmask $nmask1 # ifconfig $ipsecdev $sg1 ;; unload) ipsec tncfg --detach --virtual $ipsecdev ifconfig $ipsecdev down # rmmod ipsec ;; # Transport mode tresp3desmd5) ipsec spi --edst $sg1 --spi 0x235 --esp 3des-md5-96 \ --iv 0x1000000000000001 \ --enckey 0x000100020003000400050006000700080009000a000b000c \ --authkey 0x000d000e000f00100011001200130014 route del $sg2 route add -host $sg2 dev $ipsecdev gw $sg1a ipsec eroute --add --src $sg1/$hmask \ --dst $sg2/$hmask \ --edst $sg2 --spi 0x225 ipsec spi --edst $sg2 --spi 0x225 --esp 3des-md5-96 \ --iv 0x1000000000000001 \ --enckey 0x00150016001700180019001a001b001c001d001e001f0020 \ --authkey 0x00210022002300240025002600270028 ;; tresp3desmd5del) ipsec spi --edst $sg1 --spi 0x235 --del ipsec spi --edst $sg2 --spi 0x225 --del ipsec eroute --del --src $sg1/$hmask --dst $sg2/$hmask route del $sg2 ;; trahmd5) ipsec spi --edst $sg1 --spi 0x235 --ah md5 \ --authkey 0x66306630663031326630663066303147 route del $sg2 route add -host $sg2 dev $ipsecdev gw $sg1a ipsec eroute --add --src $sg1/$hmask \ --dst $sg2/$hmask \ --edst $sg2 --spi 0x225 ipsec spi --edst $sg2 --spi 0x225 --ah md5 \ --authkey 0x66306630663031326630663066303146 ;; trahmd5del) ipsec spi --edst $sg1 --spi 0x235 --del route del $sg2 ipsec eroute --del --src $sg1/$hmask \ --dst $sg2/$hmask ipsec spi --edst $sg2 --spi 0x225 --del ;; trespdes) ipsec spi --edst $sg1 --spi 0x235 --esp des \ --iv 0x6630663066306631 \ --enckey 0x6630663066303145 route del $sg2 route add -host $sg2 dev $ipsecdev gw $sg1a ipsec eroute --add --src $sg1/$hmask \ --dst $sg2/$hmask \ --edst $sg2 --spi 0x225 ipsec spi --edst $sg2 --spi 0x225 --esp des \ --iv 0x6630663066306631 \ --enckey 0x6630663066303144 ;; trespdesdel) ipsec spi --edst $sg1 --spi 0x235 --del route del $sg2 ipsec eroute --del --src $sg1/$hmask \ --dst $sg2/$hmask ipsec spi --edst $sg2 --spi 0x225 --del ;; trtu) route del $sg2 route add -host $sg2 dev $ipsecdev gw $sg1a ipsec eroute --add --src $sg1/$hmask \ --dst $sg2/$hmask \ --edst $sg2 --spi 0x225 ipsec spi --edst $sg2 --spi 0x225 --ip4 \ --src $sg1 --dst $sg2 ;; # Tunnel mode tuespdesahmd5) # return path ipsec spi --edst $sg1 --spi 0x235 --esp des \ --iv 0x6630663066306631 \ --enckey 0x6630663066303143 ipsec spi --edst $sg1 --spi 0x236 --ah md5 \ --authkey 0x66306630663031326630663066303143 # forward path route del $net2 route add -net $net2 netmask $nmask2 dev $ipsecdev gw $sg1a ipsec eroute --add --src $net1/$nmask1 \ --dst $net2/$nmask2 \ --edst $sg2 --spi 0x223 ipfwadm -F -i accept -S $net1/$nmask1 -D $net2/$nmask2 ipsec spi --edst $sg2 --spi 0x223 --ip4 \ --src $sg1 --dst $sg2 ipsec spi --edst $sg2 --spi 0x225 --esp des \ --iv 0x6630663066306631 \ --enckey 0x6630663066303142 ipsec spi --edst $sg2 --spi 0x226 --ah md5 \ --authkey 0x66306630663031326630663066303142 ipsec spigrp $sg2 0x223 \ $sg2 0x225 \ $sg2 0x226 ;; tuespdesahmd5del) # return path ipsec spi --edst $sg1 --spi 0x235 --del # ipsec spi --edst $sg1 --spi 0x236 --del # forward path route del $net2 ipsec eroute --del --src $net1/$nmask1 \ --dst $net2/$nmask2 ipfwadm -F -d accept -S $net1/$nmask1 -D $net2/$nmask2 ipsec spi --edst $sg2 --spi 0x223 --del # ipsec spi --edst $sg2 --spi 0x225 --del # ipsec spi --edst $sg2 --spi 0x226 --del ;; tuesp3desmd5) # return path ipsec spi --edst $sg1 --spi 0x235 --esp 3des-md5-96 \ --iv 0x1000000000000001 \ --enckey 0x0029002a002b002c002d002e002f00300031003200330034 \ --authkey 0x00350036003700380039003a003b003c route del $net2 route add -net $net2 dev $ipsecdev gw $sg1a # forward path ipsec eroute --add --src $net1/$nmask1 \ --dst $net2/$nmask2 \ --edst $sg2 --spi 0x223 ipfwadm -F -i accept -S $net1/$nmask1 -D $net2/$nmask2 ipsec spi --edst $sg2 --spi 0x223 --ip4 \ --src $sg1 --dst $sg2 ipsec spi --edst $sg2 --spi 0x225 --esp 3des-md5-96 \ --iv 0x1000000000000001 \ --enckey 0x003d003e003f004000410042004300440045004600470048 \ --authkey 0x0049004a004b004c004d004e004f0050 ipsec spigrp $sg2 0x223 \ $sg2 0x225 ;; tuesp3desmd5del) # return path ipsec spi --edst $sg2 --spi 0x223 --del # ipsec spi --edst $sg2 --spi 0x225 --del ipsec eroute --del --src $net1/$nmask1 \ --dst $net2/$nmask2 ipfwadm -F -d accept -S $net1/$nmask1 -D $net2/$nmask2 route del $net2 ipsec spi --edst $sg1 --spi 0x235 --del ;; turoadme) # return path ipsec spi --edst $sg1 --spi 0x235 --esp 3des-md5-96 \ --iv 0x1000000000000001 \ --enckey 0x005100520053005400550056005700580059005a005b005c \ --authkey 0x005d005e005f00600061006200630064 # forward path route del $net2 route add -net $net2 netmask $nmask2 dev $ipsecdev gw $sg1a ipsec eroute --add --src $sg1/$hmask \ --dst $net2/$nmask2 \ --edst $sg2 --spi 0x223 ipsec spi --edst $sg2 --spi 0x223 --ip4 \ --src $sg1 --dst $sg2 ipsec spi --edst $sg2 --spi 0x225 --esp 3des-md5-96 \ --iv 0x1000000000000001 \ --enckey 0x00650066006700680069006a006b006c006d006e006f0070 \ --authkey 0x00710072007300740075007600770078 ipsec spigrp $sg2 0x223 \ $sg2 0x225 ;; turoadmedel) # return path ipsec spi --edst $sg1 --spi 0x235 --del # forward path route del $net2 ipsec eroute --del --src $sg1/$hmask \ --dst $net2/$nmask2 ipsec spi --edst $sg2 --spi 0x223 --del # ipsec spi --edst $sg2 --spi 0x225 --del ;; turoadyou) # return path ipsec spi --edst $sg1 --spi 0x235 --esp 3des-md5-96 \ --iv 0x1000000000000001 \ --enckey 0x005100520053005400550056005700580059005a005b005c \ --authkey 0x005d005e005f00600061006200630064 # forward path route del $sg2 route add -host $sg2 dev $ipsecdev gw $sg1a ipsec eroute --add --src $net1/$nmask1 \ --dst $sg2/$hmask \ --edst $sg2 --spi 0x223 ipfwadm -F -i accept -S $net1/$nmask1 -D $sg2/$hmask ipsec spi --edst $sg2 --spi 0x223 --ip4 \ --src $sg1 --dst $sg2 ipsec spi --edst $sg2 --spi 0x225 --esp 3des-md5-96 \ --iv 0x1000000000000001 \ --enckey 0x00650066006700680069006a006b006c006d006e006f0070 \ --authkey 0x00710072007300740075007600770078 ipsec spigrp $sg2 0x223 \ $sg2 0x225 ;; turoadyoudel) # return path ipsec spi --edst $sg1 --spi 0x235 --del # forward path route del $sg2 ipsec eroute --del --src $net1/$nmask1 \ --dst $sg2/$hmask ipfwadm -F -d accept -S $net1/$nmask1 -D $sg2/$hmask ipsec spi --edst $sg2 --spi 0x223 --del # ipsec spi --edst $sg2 --spi 0x225 --del ;; tusgespdesahmd5) # return path ipsec spi --edst $sg1 --spi 0x235 --esp des \ --iv 0x6630663066306631 \ --enckey 0x6630663066303149 ipsec spi --edst $sg1 --spi 0x236 --ah md5 \ --authkey 0x66306630663031326630663066303149 # forward path route del $sg2 route add -host $sg2 dev $ipsecdev gw $sg1a ipsec eroute --add --src $sg1/$hmask \ --dst $sg2/$hmask \ --edst $sg2 --spi 0x223 ipsec spi --edst $sg2 --spi 0x223 --ip4 \ --src $sg1 --dst $sg2 ipsec spi --edst $sg2 --spi 0x225 --esp des \ --iv 0x6630663066306631 \ --enckey 0x6630663066303148 ipsec spi --edst $sg2 --spi 0x226 --ah md5 \ --authkey 0x66306630663031326630663066303148 ipsec spigrp $sg2 0x223 \ $sg2 0x225 \ $sg2 0x226 ;; tusgespdesahmd5del) # return path ipsec spi --edst $sg1 --spi 0x235 --del # ipsec spi --edst $sg1 --spi 0x236 --del # forward path route del $sg2 ipsec eroute --del --src $sg1/$hmask \ --dst $sg2/$hmask ipsec spi --edst $sg2 --spi 0x223 --del # ipsec spi --edst $sg2 --spi 0x225 --del # ipsec spi --edst $sg2 --spi 0x226 --del ;; tusgesp3desmd5) # return path ipsec spi --edst $sg1 --spi 0x235 --esp 3des-md5-96 \ --iv 0x1000000000000001 \ --enckey 0x005100520053005400550056005700580059005a005b005c \ --authkey 0x005d005e005f00600061006200630064 # forward path route del $sg2 route add -host $sg2 dev $ipsecdev gw $sg1a ipsec eroute --add --src $sg1/$hmask \ --dst $sg2/$hmask \ --edst $sg2 --spi 0x223 ipsec spi --edst $sg2 --spi 0x223 --ip4 \ --src $sg1 --dst $sg2 ipsec spi --edst $sg2 --spi 0x225 --esp 3des-md5-96 \ --iv 0x1000000000000001 \ --enckey 0x00650066006700680069006a006b006c006d006e006f0070 \ --authkey 0x00710072007300740075007600770078 ipsec spigrp $sg2 0x223 \ $sg2 0x225 ;; tusgesp3desmd5del) # return path ipsec spi --edst $sg1 --spi 0x235 --del ipsec eroute --del --src $sg1/$hmask \ --dst $sg2/$hmask route del $sg2 ipsec spi --edst $sg2 --spi 0x223 --del # ipsec spi --edst $sg2 --spi 0x225 --del ;; turealips) # forward path route del $net4 route add -net $net4 dev $ipsecdev gw $sg3a ipsec eroute --add --src $net3/$nmask3 \ --dst $net4/$nmask4 \ --edst $sg4 --spi 1502 ipfwadm -F -i accept -S $net3/$nmask3 -D $net4/$nmask4 ipsec spi --edst $sg4 --spi 1502 --ip4 \ --src $sg3 --dst $sg4 ipsec spi --edst $sg4 --spi 1503 --esp 3des-md5-96 \ --iv 0xAC38429489A4CAC2 \ --enckey 0xAC89ACE248107DA856C46EEA820A947313436C80B89043C2 \ --authkey 0xACF3DDD9A182E95D1384E1391322CAC2 ipsec spigrp $sg4 1502 \ $sg4 1503 # return path ipsec spi --edst $sg3 --spi 1501 --esp 3des-md5-96 \ --iv 0xAC38429489A4CAC2 \ --enckey 0xAC89ACE248107DA856C46EEA820A947313436C80B89043C2 \ --authkey 0xACF3DDD9A182E95D1384E1391322CAC2 ;; turealipsdel) # forward path ipsec eroute --del --src $net3/$nmask3 \ --dst $net4/$nmask4 ipfwadm -F -d accept -S $net3/$nmask3 -D $net4/$nmask4 route del $net4 # ipsec spi --edst $sg4 --spi 1502 --del ipsec spi --edst $sg4 --spi 1503 --del # return path # ipsec spi --edst $sg3 --spi 1500 --del ipsec spi --edst $sg3 --spi 1501 --del ;; proc) cat /proc/net/ipsec_* ;; esac