#!/bin/sh net1=192.168.4.0 net2=192.168.0.0 gw1=192.168.2.110 gw2=192.168.2.105 hmask=255.255.255.255 nmask=255.255.255.0 case "$1" in # Setup module and interface setup) # Load the module # depmod -a # modprobe ipsec # Attach and configure the interface ipsec tncfg attach ipsec0 eth0 ifconfig ipsec0 $gw1 ;; unload) ifconfig ipsec0 down ifconfig ipsec1 down # rmmod ipsec ;; # Transport mode tresp3desmd5) ipsec spi --edst $gw1 --spi 0x525 --esp 3des-md5-96 \ --iv 0x1000000000000001 \ --enckey 0x010203040506070809101112131415161718192021222324 \ --authkey 0x25262728293031323334353637383940 route del $gw2 route add -host $gw2 dev ipsec0 ipsec eroute --add --src $gw1/$hmask \ --dst $gw2/$hmask \ --edst $gw2 --spi 0x535 ipsec spi --edst $gw2 --spi 0x535 --esp 3des-md5-96 \ --iv 0x1000000000000001 \ --enckey 0x414243444546474849505152535455565758596061626364 \ --authkey 0x65666768697071727374757677787980 ;; tresp3desmd5del) ipsec spi --edst $gw1 --spi 0x525 --del ipsec spi --edst $gw2 --spi 0x535 --del ipsec eroute --del --src $gw1/$hmask --dst $gw2/$hmask route del $gw2 ;; tresp3des) ipsec spi --edst $gw1 --spi 0x525 --esp 3des \ --iv 0x1000000000000001 \ --enckey 0x010203040506070809101112131415161718192021222324 route del $gw2 route add -host $gw2 dev ipsec0 ipsec eroute --add --src $gw1/$hmask \ --dst $gw2/$hmask \ --edst $gw2 --spi 0x535 ipsec spi --edst $gw2 --spi 0x535 --esp 3des \ --iv 0x1000000000000001 \ --enckey 0x414243444546474849505152535455565758596061626364 ;; tresp3desdel) ipsec spi --edst $gw1 --spi 0x525 --del ipsec spi --edst $gw2 --spi 0x535 --del ipsec eroute --del --src $gw1/$hmask --dst $gw2/$hmask route del $gw2 ;; tresp3dessha1) ipsec spi --edst $gw1 --spi 0x525 --esp 3des-sha1-96 \ --iv 0x1000000000000001 \ --enckey 0x010203040506070809101112131415161718192021222324 \ --authkey 0x2526272829303132333435363738394041424344 route del $gw2 route add -host $gw2 dev ipsec0 ipsec eroute --add --src $gw1/$hmask \ --dst $gw2/$hmask \ --edst $gw2 --spi 0x535 ipsec spi --edst $gw2 --spi 0x535 --esp 3des-sha1-96 \ --iv 0x1000000000000001 \ --enckey 0x414243444546474849505152535455565758596061626364 \ --authkey 0x6566676869707172737475767778798081828384 ;; tresp3dessha1del) ipsec spi --edst $gw1 --spi 0x525 --del ipsec spi --edst $gw2 --spi 0x535 --del ipsec eroute --del --src $gw1/$hmask --dst $gw2/$hmask route del $gw2 ;; trespdesmd5) ipsec spi --edst $gw1 --spi 0x565 --esp des-md5-96 \ --iv 0x1000000000000001 \ --enckey 0xb3b4b5b6b7b8b9c0 \ --authkey 0xc1c2c3c4c5c6c7c8c9d0d1d2d3d4d5d6 route del $gw2 route add -host $gw2 dev ipsec0 ipsec eroute --add --src $gw1/$hmask \ --dst $gw2/$hmask \ --edst $gw2 --spi 0x575 ipsec spi --edst $gw2 --spi 0x575 --esp des-md5-96 \ --iv 0x1000000000000001 \ --enckey 0xd7d8d9e0e1e2e3e4 \ --authkey 0xe5e6e7e8e9f0f1f2f3f4f5f6f7f8f900 ;; trespdesmd5del) ipsec spi --edst $gw1 --spi 0x565 --del ipsec spi --edst $gw2 --spi 0x575 --del ipsec eroute --del --src $gw1/$hmask --dst $gw2/$hmask route del $gw2 ;; trespdes) ipsec spi --edst $gw1 --spi 0x565 --proto esp --esp des \ --iv 0x1000000000000001 \ --enckey 0xb3b4b5b6b7b8b9c0 ipsec spi --edst $gw2 --spi 0x575 --proto esp --esp des \ --iv 0x1000000000000001 \ --enckey 0xd7d8d9e0e1e2e3e4 ipsec eroute --add --src $gw1/$hmask \ --dst $gw2/$hmask \ --edst $gw2 --spi 0x575 --proto esp route del $gw2 route add -host $gw2 dev ipsec0 ;; trespdesdel) ipsec spi --edst $gw1 --spi 0x565 --proto esp --del route del $gw2 ipsec eroute --del --src $gw1/$hmask --dst $gw2/$hmask ipsec spi --edst $gw2 --spi 0x575 --proto esp --del ;; trespdessha1) ipsec spi --edst $gw1 --spi 0x565 --esp des-sha1-96 \ --iv 0x1000000000000001 \ --enckey 0xb3b4b5b6b7b8b9c0 \ --authkey 0xc1c2c3c4c5c6c7c8c9d0d1d2d3d4d5d6d7d8d9e0 route del $gw2 route add -host $gw2 dev ipsec0 ipsec eroute --add --src $gw1/$hmask \ --dst $gw2/$hmask \ --edst $gw2 --spi 0x575 ipsec spi --edst $gw2 --spi 0x575 --esp des-sha1-96 \ --iv 0x1000000000000001 \ --enckey 0xd7d8d9e0e1e2e3e4 \ --authkey 0xe5e6e7e8e9f0f1f2f3f4f5f6f7f8f90001020304 ;; trespdessha1del) ipsec spi --edst $gw1 --spi 0x565 --del ipsec spi --edst $gw2 --spi 0x575 --del ipsec eroute --del --src $gw1/$hmask --dst $gw2/$hmask route del $gw2 ;; trahmd5) ipsec spi --edst $gw1 --spi 0x545 --ah hmac-md5 \ --authkey 0x81828384858687888990919293949596 route del $gw2 route add -host $gw2 dev ipsec0 ipsec eroute --add --src $gw1/$hmask \ --dst $gw2/$hmask \ --edst $gw2 --spi 0x555 ipsec spi --edst $gw2 --spi 0x555 --ah hmac-md5 \ --authkey 0x979899a0a1a2a3a4a5a6a7a8a9b0b1b2 ;; trahmd5del) ipsec spi --edst $gw1 --spi 0x545 --del ipsec spi --edst $gw2 --spi 0x555 --del ipsec eroute --del --src $gw1/$hmask --dst $gw2/$hmask route del $gw2 ;; trahsha1) ipsec spi --edst $gw1 --spi 0x585 --proto ah --ah hmac-sha1 \ --authkey 0x0a0b0c0d0e0f1a1b1c1d1e1f2a2b2c2d2e2f3a3b ipsec spi --edst $gw2 --spi 0x595 --proto ah --ah hmac-sha1 \ --authkey 0x3c3d3e3f4a4b4c4d4e4f5a5b5c5d5e5f6a6b6c6d ipsec eroute --add --src $gw1/$hmask \ --dst $gw2/$hmask \ --edst $gw2 --spi 0x595 --proto ah route del $gw2 route add -host $gw2 dev ipsec0 ;; trahsha1del) ipsec spi --edst $gw1 --spi 0x585 --proto ah --del route del $gw2 ipsec eroute --del --src $gw1/$hmask --dst $gw2/$hmask ipsec spi --edst $gw2 --spi 0x595 --proto ah --del ;; trespdes) ipsec spi --edst $gw1 --spi 0x565 --esp des \ --iv 0x6630663066306631 \ --enckey 0xb3b4b5b6b7b8b9c0 route del $gw2 route add -host $gw2 dev ipsec0 ipsec eroute --add --src $gw1/$hmask \ --dst $gw2/$hmask \ --edst $gw2 --spi 0x575 ipsec spi --edst $gw2 --spi 0x575 --esp des \ --iv 0x6630663066306631 \ --enckey 0xd7d8d9e0e1e2e3e4 ;; trespdesdel) ipsec spi --edst $gw1 --spi 0x565 --del ipsec spi --edst $gw2 --spi 0x575 --del ipsec eroute --del --src $gw1/$hmask --dst $gw2/$hmask route del $gw2 ;; trtu) route del $gw2 route add -host $gw2 dev ipsec0 ipsec eroute --add --src $gw1/$hmask \ --dst $gw2/$hmask \ --edst $gw2 --spi 0x135 ipsec spi --edst $gw2 --spi 0x135 ip4 \ $gw1 $gw2 ;; # Tunnel mode tuespdesahmd5) # return path ipsec spi --edst $gw1 --spi 0x105 --esp des \ --iv 0x6630663066306631 \ --enckey 0x6630663066303132 ipsec spi --edst $gw1 --spi 0x106 --ah md5 \ --authkey 0x66306630663031326630663066303132 route del $net2 route add -net $net2 dev ipsec0 gw $gw2 # forward path ipsec eroute --add --src $net1/$nmask \ --dst $net2/$nmask \ --edst $gw2 --spi 0x113 ipsec spi --edst $gw2 --spi 0x113 ip4 \ $gw1 $gw2 ipsec spi --edst $gw2 --spi 0x115 --esp des \ --iv 0x6630663066306631 \ --enckey 0x6630663066303133 ipsec spi --edst $gw2 --spi 0x116 --ah md5 \ --authkey 0x66306630663031326630663066303133 ipsec spigrp $gw2 0x113 \ $gw2 0x115 \ $gw2 0x116 ;; turoad) # return path ipsec spi --edst $gw1 --spi 0x105 --esp des \ --iv 0x6630663066306631 \ --enckey 0x6630663066303130 ipsec spi --edst $gw1 --spi 0x106 --ah md5 \ --authkey 0x66306630663031326630663066303130 route del $gw2 route add -host $gw2 dev ipsec0 gw 192.168.2.103 # forward path ipsec eroute --add --src $net1/$nmask \ --dst $gw2/$hmask \ --edst $gw2 --spi 0x113 ipsec spi --edst $gw2 --spi 0x113 ip4 \ $gw1 $gw2 ipsec spi --edst $gw2 --spi 0x115 --esp des \ --iv 0x6630663066306631 \ --enckey 0x6630663066303131 ipsec spi --edst $gw2 --spi 0x116 --ah md5 \ --authkey 0x66306630663031326630663066303131 ipsec spigrp $gw2 0x113 \ $gw2 0x115 \ $gw2 0x116 ;; turoad2) # return path ipsec spi --edst $gw1 --spi 0x105 --esp des \ --iv 0x6630663066306631 \ --enckey 0x6630663066303130 ipsec spi --edst $gw1 --spi 0x106 --ah md5 \ --authkey 0x66306630663031326630663066303130 route del $net2 route add -net $net2 dev ipsec0 gw $gw2 # forward path ipsec ipsec ipsec eroute --add --src $gw1/$hmask \ --dst $net2/$nmask \ --edst $gw2 --spi 0x113 ipsec spi --edst $gw2 --spi 0x113 ip4 \ $gw1 $gw2 ipsec spi --edst $gw2 --spi 0x115 --esp des \ --iv 0x6630663066306631 \ --enckey 0x6630663066303131 ipsec spi --edst $gw2 --spi 0x116 --ah md5 \ --authkey 0x66306630663031326630663066303131 ipsec spigrp $gw2 0x113 \ $gw2 0x115 \ $gw2 0x116 ;; tugw) # return path ipsec spi --edst $gw1 --spi 0x105 --esp des \ --iv 0x6630663066306631 \ --enckey 0x6630663066303138 ipsec spi --edst $gw1 --spi 0x106 --ah md5 \ --authkey 0x66306630663031326630663066303138 route del $gw2 route add -host $gw2 dev ipsec0 # forward path ipsec eroute --add --src $gw1/$hmask \ --dst $gw2/$hmask \ --edst $gw2 --spi 0x113 ipsec spi --edst $gw2 --spi 0x113 ip4 \ $gw1 $gw2 ipsec spi --edst $gw2 --spi 0x115 --esp des \ --iv 0x6630663066306631 \ --enckey 0x6630663066303139 ipsec spi --edst $gw2 --spi 0x116 --ah md5 \ --authkey 0x66306630663031326630663066303139 ipsec spigrp $gw2 0x113 \ $gw2 0x115 \ $gw2 0x116 ;; proc) cat /proc/net/ipsec_* ;; esac