|
From: <abe...@us...> - 2012-04-14 22:19:31
|
Revision: 5513
http://astlinux.svn.sourceforge.net/astlinux/?rev=5513&view=rev
Author: abelbeck
Date: 2012-04-14 22:19:25 +0000 (Sat, 14 Apr 2012)
Log Message:
-----------
ipsec mobile, initial checkin of XAuth support, much thanks to Ingmar
Modified Paths:
--------------
branches/1.0/package/ipsec-tools/ipsec-tools.mk
branches/1.0/package/ipsec-tools/racoon-ipsec
branches/1.0/project/astlinux/target_skeleton/etc/group
branches/1.0/project/astlinux/target_skeleton/etc/gshadow
branches/1.0/project/astlinux/target_skeleton/etc/passwd
branches/1.0/project/astlinux/target_skeleton/etc/shadow
branches/1.0/project/astlinux/target_skeleton/stat/etc/rc.conf
Modified: branches/1.0/package/ipsec-tools/ipsec-tools.mk
===================================================================
--- branches/1.0/package/ipsec-tools/ipsec-tools.mk 2012-04-12 14:44:59 UTC (rev 5512)
+++ branches/1.0/package/ipsec-tools/ipsec-tools.mk 2012-04-14 22:19:25 UTC (rev 5513)
@@ -15,7 +15,7 @@
IPSEC_TOOLS_MAKE_OPT = CFLAGS='$(TARGET_CFLAGS)'
IPSEC_TOOLS_CONF_OPT = \
- --disable-hybrid \
+ --enable-hybrid \
--without-libpam \
--disable-gssapi \
--localstatedir=/var \
Modified: branches/1.0/package/ipsec-tools/racoon-ipsec
===================================================================
--- branches/1.0/package/ipsec-tools/racoon-ipsec 2012-04-12 14:44:59 UTC (rev 5512)
+++ branches/1.0/package/ipsec-tools/racoon-ipsec 2012-04-14 22:19:25 UTC (rev 5513)
@@ -241,7 +241,7 @@
gen_ipsecmobile()
{
- local auth IFS
+ local auth method IFS
p1_encrypt="$IPSECM_P1_CYPHER"
p1_hash="$IPSECM_P1_HASH"
@@ -266,6 +266,19 @@
fi
done
+ if [ "$IPSECM_AUTH_METHOD" = "xauth_rsa_server" ]; then
+ method="xauth_rsa_server"
+ IFS=' '
+ for name in IPSECM_XAUTH_POOLBASE IPSECM_XAUTH_POOLMASK IPSECM_XAUTH_POOLSIZE; do
+ if [ -z "${!name}" ]; then
+ bad_config "Empty (required) field '$name' in IPsec configuration!"
+ return 1
+ fi
+ done
+ else
+ method="rsasig"
+ fi
+
if ! sanity_check_options; then
return 1
fi
@@ -274,8 +287,12 @@
auth="$(get_rsa_auth_config "$rsa_path" "$rsa_cert" "$rsa_key" "$rsa_ca")"
- (mobile_remote "$do_nat" "$p1_encrypt" "$p1_hash" "$p1_dhgrp" "$p1_lifetime" "$auth") >> /tmp/etc/racoon.conf
+ (mobile_remote "$do_nat" "$p1_encrypt" "$p1_hash" "$p1_dhgrp" "$p1_lifetime" "$method" "$auth") >> /tmp/etc/racoon.conf
+ if [ "$method" = "xauth_rsa_server" ]; then
+ (mobile_xauth) >> /tmp/etc/racoon.conf
+ fi
+
(mobile_sainfo "$p2_encrypt" "$p2_auth" "$p2_pfsgrp" "$p2_lifetime") >> /tmp/etc/racoon.conf
}
@@ -314,8 +331,8 @@
{
echo "
remote anonymous {
- exchange_mode main;${6:+
-$6}
+ exchange_mode main;${7:+
+$7}
nat_traversal $1;
passive on;
generate_policy on;
@@ -326,13 +343,40 @@
proposal {
encryption_algorithm $2;
hash_algorithm $3;
- authentication_method rsasig;
+ authentication_method $6;
dh_group $4;${5:+
lifetime time $5 sec;}
}
}"
}
+mobile_xauth()
+{
+ local arg IFS
+
+ echo "
+mode_cfg {
+ auth_source system;
+ conf_source local;
+ pool_size $IPSECM_XAUTH_POOLSIZE;
+ network4 $IPSECM_XAUTH_POOLBASE;
+ netmask4 $IPSECM_XAUTH_POOLMASK;"
+ for arg in $IPSECM_XAUTH_DNS; do
+ echo " dns4 $arg;"
+ done
+ for arg in $IPSECM_XAUTH_WINS; do
+ echo " wins4 $arg;"
+ done
+ if [ -n "$IPSECM_XAUTH_DOMAIN" -a -n "$IPSECM_XAUTH_DNS" ]; then
+ echo " default_domain \"$IPSECM_XAUTH_DOMAIN\";"
+ echo " split_dns \"$IPSECM_XAUTH_DOMAIN\";"
+ fi
+ if [ "$IPSECM_XAUTH_SAVE_PASSWD" = "yes" ]; then
+ echo " save_passwd on;"
+ fi
+ echo "}"
+}
+
mobile_sainfo()
{
echo "
Modified: branches/1.0/project/astlinux/target_skeleton/etc/group
===================================================================
--- branches/1.0/project/astlinux/target_skeleton/etc/group 2012-04-12 14:44:59 UTC (rev 5512)
+++ branches/1.0/project/astlinux/target_skeleton/etc/group 2012-04-14 22:19:25 UTC (rev 5513)
@@ -12,5 +12,6 @@
audio:x:29:
video:x:44:
users:x:100:
+ipsec:x:901:
zabbix:x:906:
nobody:x:65535:
Modified: branches/1.0/project/astlinux/target_skeleton/etc/gshadow
===================================================================
--- branches/1.0/project/astlinux/target_skeleton/etc/gshadow 2012-04-12 14:44:59 UTC (rev 5512)
+++ branches/1.0/project/astlinux/target_skeleton/etc/gshadow 2012-04-14 22:19:25 UTC (rev 5513)
@@ -1,3 +1,4 @@
root:*::
users:*::
ftp:*::
+ipsec:!::
Modified: branches/1.0/project/astlinux/target_skeleton/etc/passwd
===================================================================
--- branches/1.0/project/astlinux/target_skeleton/etc/passwd 2012-04-12 14:44:59 UTC (rev 5512)
+++ branches/1.0/project/astlinux/target_skeleton/etc/passwd 2012-04-14 22:19:25 UTC (rev 5513)
@@ -1,5 +1,6 @@
root:x:0:0:root:/root:/bin/sh
sshd:x:22:22:sshd:/dev/null:/bin/false
ftp:x:21:21:ftp user:/home/ftp:/bin/false
+ipsec:x:901:901:IPsec XAuth:/dev/null:/bin/false
zabbix:x:906:906:Zabbix User:/dev/null:/bin/false
nobody:x:1000:1000:no one:/dev/null:/bin/false
Modified: branches/1.0/project/astlinux/target_skeleton/etc/shadow
===================================================================
--- branches/1.0/project/astlinux/target_skeleton/etc/shadow 2012-04-12 14:44:59 UTC (rev 5512)
+++ branches/1.0/project/astlinux/target_skeleton/etc/shadow 2012-04-14 22:19:25 UTC (rev 5513)
@@ -1,5 +1,6 @@
root:$1$$axJeFIpwicqOTwFpuoUAs1:12215:0:99999:7:::
sshd:!:0:0:99999:7:::
ftp:!:0:0:99999:7:::
-zabbix:!:0:99999:7:::
-nobody:!:0:99999:7:::
+ipsec:!:0:0:99999:7:::
+zabbix:!:0:0:99999:7:::
+nobody:!:0:0:99999:7:::
Modified: branches/1.0/project/astlinux/target_skeleton/stat/etc/rc.conf
===================================================================
--- branches/1.0/project/astlinux/target_skeleton/stat/etc/rc.conf 2012-04-12 14:44:59 UTC (rev 5512)
+++ branches/1.0/project/astlinux/target_skeleton/stat/etc/rc.conf 2012-04-14 22:19:25 UTC (rev 5513)
@@ -570,6 +570,7 @@
#"
##
## Phase 1 - Authentication
+#IPSECM_AUTH_METHOD="rsasig" # "rsasig" or "xauth_rsa_server", defaults to "rsasig"
#IPSECM_P1_CYPHER="aes 128" # "aes 128" or "aes 192" or "aes 256" or "3des" or "blowfish"
#IPSECM_P1_HASH="sha1" # "md5" or "sha1" or "sha256"
#IPSECM_P1_DHGROUP="modp1024" # "modp768" (1) or "modp1024" (2) or "modp1536" (5)
@@ -581,6 +582,18 @@
#IPSECM_P2_PFSGROUP="modp1024" # "modp768" (1) or "modp1024" (2) or "modp1536" (5) or "none"
#IPSECM_P2_LIFETIME="3600" # seconds (if undefined 3600 is used)
##
+## IPSECM_XAUTH_* only used if IPSECM_AUTH_METHOD="xauth_rsa_server"
+#IPSECM_XAUTH_POOLBASE="192.168.101.222" # Base IPv4 address
+#IPSECM_XAUTH_POOLMASK="255.255.255.0" # Base IPv4 mask
+#IPSECM_XAUTH_POOLSIZE="8" # "4", "8", "16"
+#IPSECM_XAUTH_DNS="" # space separated list of DNS server(s) pushed to client
+#IPSECM_XAUTH_WINS="" # space separated list of local MS WINS servers, rarely needed
+#IPSECM_XAUTH_DOMAIN="" # Default DNS domain pushed to client
+#IPSECM_XAUTH_SAVE_PASSWD="no" # "no" or "yes", defaults to "no"
+##
+#IPSECM_CERT_KEYSIZE="1024" # "1024" or "2048", defaults to "1024"
+#IPSECM_CERT_DNSNAME="" # DNS name (or IP address) of public interface, required by iOS devices
+##
## PPTP VPN Server - VPN above must include "pptp"
##
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|