[PC-1]----[VPN_DEVICE-1]----[VPN_DEVICE-2]----[PC-2]
[VPN_DEVICE-1] can be a Cisco ASA (ASA-1), a Cisco router (ROUTER-1) or an Openswan (LINUX-1).
[VPN_DEVICE-2] can be a Cisco ASA (ASA-2), a Cisco router (ROUTER-2) or an Openswan (LINUX-2).
[PC-1] eth0: 192.168.1.1/24
[VPN_DEVICE-1]
(ASA-1) e0/1, (ROUTER-1) fa0/1, (LINUX-1) fa0/1: 192.168.1.254/24
(ASA-1) e0/0, (ROUTER-1) fa0/0, (LINUX-1) fa0/0: 12.12.12.1/24
[VPN_DEVICE-2]
(ASA-2) e0/0, (ROUTER-2) fa0/0, (LINUX-2) fa0/0: 12.12.12.2/24
(ASA-2) e0/1, (ROUTER-2) fa0/1, (LINUX-2) fa0/1: 192.168.2.254/24
[PC-2] eth0: 192.168.2.1/24
Between two ASAs
ASA-1(config)#crypto ikev1 policy 1! crypto isakmp ASA-1(config-ikev1-policy)#authentication pre-shareASA-1(config-ikev1-policy)#encryption aesASA-1(config-ikev1-policy)#hash shaASA-1(config-ikev1-policy)#group 2ASA-1(config-ikev1-policy)#lifetime 86400ASA-1(config)#crypto ikev1 am-disableASA-1(config)#crypto ikev1 enable outside! crypto isakmp ASA-1(config)#tunnel-group 12.12.12.2 type ipsec-l2lASA-1(config)#tunnel-group 12.12.12.2 ipsec-attributesASA-1(config-tunnel-ipsec)#pre-shared-key SECRET_KEYASA-1(config)#access-list CRYPTO_ACL permit ip 192.168.1.0 255.255.255.0 192.168.2.0 255.255.255.0ASA-1(config)#crypto ipsec transform-set TRANSFORM_SET esp-aes esp-sha-hmacASA-1(config)#crypto map CRYPTO_MAP 1 set peer 12.12.12.2ASA-1(config)#crypto map CRYPTO_MAP 1 match address CRYPTO_ACLASA-1(config)#crypto map CRYPTO_MAP 1 set transform-set TRANSFORM_SETASA-1(config)#crypto map CRYPTO_MAP 1 set pfs group2ASA-1(config)#crypto map CRYPTO_MAP interface outsideASA-1(config)#route outside 192.168.2.0 255.255.255.0 12.12.12.2ASA-1(config)#object network INSIDE_NETASA-1(config-network-object)#subnet 192.168.1.0 255.255.255.0ASA-1(config)#object network OUTSIDE_NETASA-1(config-network-object)#subnet 192.168.2.0 255.255.255.0ASA-1(config)#nat (inside,outside) source static INSIDE_NET INSIDE_NET destination static OUTSIDE_NET OUTSIDE_NETASA-1(config)#sysopt connection permit-vpn! permit-ipsec or use an outside ACL
ASA-2(config)#crypto ikev1 policy 1! crypto isakmp ASA-2(config-ikev1-policy)#authentication pre-shareASA-2(config-ikev1-policy)#encryption aesASA-2(config-ikev1-policy)#hash shaASA-2(config-ikev1-policy)#group 2ASA-2(config-ikev1-policy)#lifetime 86400ASA-2(config)#crypto ikev1 am-disableASA-2(config)#crypto ikev1 enable outside! crypto isakmp ASA-2(config)#tunnel-group 12.12.12.1 type ipsec-l2lASA-2(config)#tunnel-group 12.12.12.1 ipsec-attributesASA-2(config-tunnel-ipsec)#pre-shared-key SECRET_KEYASA-2(config)#access-list CRYPTO_ACL permit ip 192.168.2.0 255.255.255.0 192.168.1.0 255.255.255.0ASA-2(config)#crypto ipsec transform-set TRANSFORM_SET esp-aes esp-sha-hmacASA-2(config)#crypto map CRYPTO_MAP 1 set peer 12.12.12.1ASA-2(config)#crypto map CRYPTO_MAP 1 match address CRYPTO_ACLASA-2(config)#crypto map CRYPTO_MAP 1 set transform-set TRANSFORM_SETASA-2(config)#crypto map CRYPTO_MAP 1 set pfs group2ASA-2(config)#crypto map CRYPTO_MAP interface outsideASA-2(config)#route outside 192.168.1.0 255.255.255.0 12.12.12.1ASA-2(config)#object network INSIDE_NETASA-2(config-network-object)#subnet 192.168.2.0 255.255.255.0ASA-2(config)#object network OUTSIDE_NETASA-2(config-network-object)#subnet 192.168.1.0 255.255.255.0ASA-2(config)#nat (inside,outside) source static INSIDE_NET INSIDE_NET destination static OUTSIDE_NET OUTSIDE_NETASA-2(config)#sysopt connection permit-vpn! permit-ipsec or use an outside ACL
Between two IOS routers
ROUTER-1(config)#crypto isakmp policy 1ROUTER-1(config-isakmp)#authentication pre-shareROUTER-1(config-isakmp)#encryption aesROUTER-1(config-isakmp)#hash shaROUTER-1(config-isakmp)#group 2ROUTER-1(config-isakmp)#lifetime 86400ROUTER-1(config)#crypto isakmp aggressive-mode disableROUTER-1(config)#crypto isakmp key 0 SECRET_KEY address 12.12.12.2ROUTER-1(config)#crypto isakmp enableROUTER-1(config)#ip access-list extended CRYPTO_ACLROUTER-1(config-ext-nacl)#permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255ROUTER-1(config)#crypto ipsec transform-set TRANSFORM_SET esp-aes esp-sha-hmacROUTER-1(config)#crypto map CRYPTO_MAP 1 ipsec-isakmpROUTER-1(config-crypto-map)#set peer 12.12.12.2ROUTER-1(config-crypto-map)#match address CRYPTO_ACLROUTER-1(config-crypto-map)#set transform-set TRANSFORM_SETROUTER-1(config-crypto-map)#set pfs group2ROUTER-1(config)#interface fa0/0ROUTER-1(config-if)#crypto map CRYPTO_MAPROUTER-1(config-if)#ip nat outsideROUTER-1(config)#interface fa0/1ROUTER-1(config-if)#ip nat insideROUTER-1(config)#ip route 192.168.2.0 255.255.255.0 12.12.12.2ROUTER-1(config)#ip access-list extended ACL_NONATROUTER-1(config-ext-nacl)#deny ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255ROUTER-1(config-ext-nacl)#permit ip any anyROUTER-1(config)#ip nat inside source list ACL_NONAT interface fa0/0 overload
ROUTER-2(config)#crypto isakmp policy 1ROUTER-2(config-isakmp)#authentication pre-shareROUTER-2(config-isakmp)#encryption aesROUTER-2(config-isakmp)#hash shaROUTER-2(config-isakmp)#group 2ROUTER-2(config-isakmp)#lifetime 86400ROUTER-2(config)#crypto isakmp aggressive-mode disableROUTER-2(config)#crypto isakmp key 0 SECRET_KEY address 12.12.12.1ROUTER-2(config)#crypto isakmp enableROUTER-2(config)#ip access-list extended CRYPTO_ACLROUTER-2(config-ext-nacl)#permit ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255ROUTER-2(config)#crypto ipsec transform-set TRANSFORM_SET esp-aes esp-sha-hmacROUTER-2(config)#crypto map CRYPTO_MAP 1 ipsec-isakmpROUTER-2(config-crypto-map)#set peer 12.12.12.1ROUTER-2(config-crypto-map)#match address CRYPTO_ACLROUTER-2(config-crypto-map)#set transform-set TRANSFORM_SETROUTER-2(config-crypto-map)#set pfs group2ROUTER-2(config)#interface fa0/0ROUTER-2(config-if)#crypto map CRYPTO_MAPROUTER-2(config-if)#ip nat outsideROUTER-2(config)#interface fa0/1ROUTER-2(config-if)#ip nat insideROUTER-2(config)#ip route 192.168.1.0 255.255.255.0 12.12.12.1ROUTER-2(config)#ip access-list extended ACL_NONATROUTER-2(config-ext-nacl)#deny ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255ROUTER-2(config-ext-nacl)#permit ip any anyROUTER-2(config)#ip nat inside source list ACL_NONAT interface fa0/0 overload
Between two Openswan servers
LINUX-1#route add default gw 12.12.12.2LINUX-1#echo 1 > /proc/sys/net/ipv4/ip_forwardLINUX-1#iptables -t nat -I POSTROUTING -s 192.168.1.0/24 -d 192.168.2.0/24 -j ACCEPTLINUX-1#iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to 12.12.12.1 -o eth0LINUX-1#cat /etc/ipsec.confversion 2.0 config setup dumpdir=/var/run/pluto/ nat_traversal=no oe=off protostack=netkey conn LINUX-2 type=tunnel left=12.12.12.1 leftsubnet=192.168.1.0/24 right=12.12.12.2 rightsubnet=192.168.2.0/24 authby=secret pfs=yes aggrmode=no ike="aes128-sha1-modp1024" phase2alg="aes128-sha1;modp1024" auto=start LINUX-1#cat /var/lib/openswan/ipsec.secrets.inc12.12.12.1 12.12.12.2 : PSK "SECRET_KEY" LINUX-1#service ipsec start
LINUX-2#route add default gw 12.12.12.1LINUX-2#echo 1 > /proc/sys/net/ipv4/ip_forwardLINUX-2#iptables -t nat -I POSTROUTING -s 192.168.2.0/24 -d 192.168.1.0/24 -j ACCEPTLINUX-2#iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -j SNAT --to 12.12.12.2 -o eth0LINUX-2#cat /etc/ipsec.confversion 2.0 config setup dumpdir=/var/run/pluto/ nat_traversal=no oe=off protostack=netkey conn LINUX-1 left=12.12.12.1 leftsubnet=192.168.1.0/24 right=12.12.12.2 rightsubnet=192.168.2.0/24 authby=secret pfs=yes aggrmode=no ike="aes128-sha1-modp1024" phase2alg="aes128-sha1;modp1024" auto=start LINUX-2#cat /var/lib/openswan/ipsec.secrets.inc12.12.12.1 12.12.12.2 : PSK "SECRET_KEY" LINUX-2#service ipsec start
No comments:
Post a Comment