VPN Traffic not getting past the SSG5, out of ideas.
-
Hi everyone, and happy new year!
I’m having a heck of a time getting VPN properly set up on my SSG5. Also, I’m going to apologize in advance for my lack of proper terminology, as I’m still a relative novice on the network side of things.
I’m trying to set up a Dial-up VPN using IPSEC and Auth-X to handle DNS requests across the VPN. I’m managed to get as far as getting the Netscreen Remote client to connect to the SSG5 remotely (Windows), and I can ping and connect to the http interface of the SSG5 without any issues once the VPN connection is established. DNS is being assigned properly by the Netscreen Remote client, as evidenced by the IP config on the Safenet virtual adapter. I can’t, however, ping or connect to anything on the trusted interface. Not the server, not any of the clients, not even a printer.
Attached is the config, minus any identifying information (IP addressing, usernames, domain, etc.) for security reasons. I’ve gone over this a million times, and I still can’t get past this bump in the road.
Any help anyone can offer would be greatly appreciated!
set clock ntp
set clock timezone -5
set clock dst recurring start-weekday 2 0 3 02:00 end-weekday 1 0 11 02:00
set vrouter trust-vr sharable
set vrouter "untrust-vr"
exit
set vrouter "trust-vr"
unset auto-route-export
exit
set service “Exchange-OWA-ActiveSync” protocol tcp src-port 0-65535 dst-port 25-25
set service “Exchange-OWA-ActiveSync” + tcp src-port 0-65535 dst-port 443-443
set alg appleichat enable
unset alg appleichat re-assembly enable
set alg sctp enable
set auth-server “Local” id 0
set auth-server “Local” server-name "Local"
set auth default auth server "Local"
set auth radius accounting port 1646
set admin name "[admin name]"
set admin password "[oopsie daisies missed another one]"
set admin auth web timeout 10
set admin auth dial-in timeout 3
set admin auth server "Local"
set admin format dos
set zone “Trust” vrouter "trust-vr"
set zone “Untrust” vrouter "trust-vr"
set zone “DMZ” vrouter "trust-vr"
set zone “VLAN” vrouter "trust-vr"
set zone “Untrust-Tun” vrouter "trust-vr"
set zone “Trust” tcp-rst
set zone “Untrust” block
unset zone “Untrust” tcp-rst
set zone “MGT” block
set zone “DMZ” tcp-rst
set zone “VLAN” block
unset zone “VLAN” tcp-rst
set zone “Untrust” screen tear-drop
set zone “Untrust” screen syn-flood
set zone “Untrust” screen ping-death
set zone “Untrust” screen ip-filter-src
set zone “Untrust” screen land
set zone “V1-Untrust” screen tear-drop
set zone “V1-Untrust” screen syn-flood
set zone “V1-Untrust” screen ping-death
set zone “V1-Untrust” screen ip-filter-src
set zone “V1-Untrust” screen land
set interface “ethernet0/0” zone "Untrust"
set interface “ethernet0/1” zone "DMZ"
set interface “bgroup0” zone "Trust"
set interface “tunnel.1” zone "Trust"
set interface bgroup0 port ethernet0/2
set interface bgroup0 port ethernet0/3
set interface bgroup0 port ethernet0/4
set interface bgroup0 port ethernet0/5
set interface bgroup0 port ethernet0/6
unset interface vlan1 ip
set interface ethernet0/0 ip ...125/30
set interface ethernet0/0 route
set interface bgroup0 ip ..10.2/24
set interface bgroup0 nat
set interface tunnel.1 ip unnumbered interface bgroup0
unset interface vlan1 bypass-others-ipsec
unset interface vlan1 bypass-non-ip
unset interface ethernet0/0 ip manageable
set interface bgroup0 ip manageable
set interface ethernet0/0 manage ping
set interface bgroup0 manage mtrace
set interface ethernet0/0 vip interface-ip 25 “Exchange-OWA-ActiveSync” ..10.5
set interface ethernet0/1 dhcp client enable
set interface “serial0/0” modem settings “USR” init "AT&F"
set interface “serial0/0” modem settings “USR” active
set interface “serial0/0” modem speed 115200
set interface “serial0/0” modem retry 3
set interface “serial0/0” modem interval 10
set interface “serial0/0” modem idle-time 10
set flow tcp-mss
unset flow tcp-syn-check
unset flow tcp-syn-bit-check
set flow reverse-route clear-text prefer
set flow reverse-route tunnel always
set domain Office.local
set pki authority default scep mode "auto"
set pki x509 default cert-path partial
set dns host dns1 ..10.5 src-interface bgroup0
set dns host dns2 0.0.0.0
set dns host dns3 0.0.0.0
set address “Trust” "..10.0/24" ..10.0 255.255.255.0
set ippool “VPN.Office” ..10.11 ..10.25
set user “TestVPN” uid 2
set user “TestVPN” ike-id fqdn “TestVPN” share-limit 1
set user “TestVPN” type ike
set user “TestVPN” "enable"
set user “user2.vpn” uid 4
set user “user2.vpn” ike-id fqdn “user2.vpn” share-limit 1
set user “user2.vpn” type ike
set user “user2.vpn” "enable"
set user “user.vpn” uid 1
set user “user.vpn” ike-id fqdn “user.vpn” share-limit 1
set user “user.vpn” type ike xauth
set user “user.vpn” remote ippool "VPN.Office"
set user “user.vpn” remote dns1 "..10.5"
set user “user.vpn” remote wins1 "..10.5"
set user “user.vpn” password "[oopsie daisies missed one]"
unset user “user.vpn” type auth
set user “user.vpn” "enable"
set ike gateway “user.vpnP1” dialup “user.vpn” Aggr outgoing-interface “ethernet0/0” preshare “[oopsie daisies missed another one]” proposal "pre-g2-des-md5"
unset ike gateway “user.vpnP1” nat-traversal
set ike gateway “user.vpnP1” xauth
unset ike gateway “user.vpnP1” xauth do-edipi-auth
set ike respond-bad-spi 1
set ike ikev2 ike-sa-soft-lifetime 60
unset ike ikeid-enumeration
unset ike dos-protection
unset ipsec access-session enable
set ipsec access-session maximum 5000
set ipsec access-session upper-threshold 0
set ipsec access-session lower-threshold 0
set ipsec access-session dead-p2-sa-timeout 0
unset ipsec access-session log-error
unset ipsec access-session info-exch-connected
unset ipsec access-session use-error-log
set xauth default ippool "VPN.Office"
set xauth default dns1 ..10.5
set xauth default dns2 ..10.5
set xauth default wins1 ..10.5
set xauth default wins2 ..10.5
set vpn “user.vpnP2” gateway “user.vpnP1” replay tunnel idletime 0 proposal "g2-esp-des-md5"
set vrouter "untrust-vr"
exit
set vrouter "trust-vr"
exit
set l2tp default dns1 ..10.5
set l2tp default wins1 ..10.5
set url protocol websense
exit
set policy id 5 from “Untrust” to “Trust” “Dial-Up VPN” "..10.0/24" “ANY” tunnel vpn “user.vpnP2” id 0x9 pair-policy 6
set policy id 5
exit
set policy id 3 from “Untrust” to “Trust” “Any” “Any” “ANY” permit
set policy id 3
exit
set policy id 1 from “Trust” to “Untrust” “Any” “Any” “ANY” permit
set policy id 1
exit
set policy id 4 name “Exchange” from “Untrust” to “Trust” “Any” “VIP(ethernet0/0)” “ANY” permit
set policy id 4
exit
set policy id 6 from “Trust” to “Untrust” "..10.0/24" “Dial-Up VPN” “ANY” tunnel vpn “user.vpnP2” id 0x9 pair-policy 5
set policy id 6
exit
set nsmgmt bulkcli reboot-timeout 60
set ssh version v2
set config lock timeout 5
unset license-key auto-update
set ssl port 1443
set ntp server "..10.5"
set ntp server src-interface "bgroup0"
set snmp port listen 161
set snmp port trap 162
set vrouter "untrust-vr"
exit
set vrouter "trust-vr"
unset add-default-route
set route 0.0.0.0/0 interface ethernet0/0 gateway ...126
exit
set vrouter "untrust-vr"
exit
set vrouter "trust-vr"
exit
-
Mwd was right. The minute I added the intrazone policy, VPN traffic began flowing properly.
Fair enough, if you say so.
I will still persist you don’t (should not?) need it since your trust zone does not have the intra zone block enabled.
Nor is the traffic actual ‘trust-trust’ traffic, heck it’s a policy based vpn….But in any case, it’s working for you, and that makes me happy… i’ll stop my “complaints”
Cheers,
-
Oh I think you’re missing the Trust - to - Trust interzone ANY ANY rule. You will need this if they’re in the same zone as the LAN.
Hi Darkgemini,
If the config you posted above is still relevant, you did not miss intra zone policy. (since you are doing policy based vpn and neither does the trust zone have the ‘intra zone block’ configured.
i do see you’re handing out ip addresses to the virtual adapter that are ‘trust internal’ ip addresses.
I think you’ll solve your connectivity by changing that pool to something outide of the trust network
i take it your netscreen is the default gw for the internal network, try s’thing like 10.1.20.x for that virtual adapter pool.Cheers,
Mwd was right. The minute I added the intrazone policy, VPN traffic began flowing properly.
-
Oh I think you’re missing the Trust - to - Trust interzone ANY ANY rule. You will need this if they’re in the same zone as the LAN.
Hi Darkgemini,
If the config you posted above is still relevant, you did not miss intra zone policy. (since you are doing policy based vpn and neither does the trust zone have the ‘intra zone block’ configured.
i do see you’re handing out ip addresses to the virtual adapter that are ‘trust internal’ ip addresses.
I think you’ll solve your connectivity by changing that pool to something outide of the trust network
i take it your netscreen is the default gw for the internal network, try s’thing like 10.1.20.x for that virtual adapter pool.Cheers,
-
Oh I think you’re missing the Trust - to - Trust interzone ANY ANY rule. You will need this if they’re in the same zone as the LAN.
It’s always something simple that gets overlooked…
Thanks a million!!
-
Oh I think you’re missing the Trust - to - Trust interzone ANY ANY rule. You will need this if they’re in the same zone as the LAN.
-
Hi DarkGemini,
I would always recommend having your clients in a different ZONE (not VLAN) as it makes it much easier to control the firewall rules. The only reason I would have the clients in the same zone is if there was a piece of software that required it.
Saying this you should be able to keep them in the same zone if you wish.
I’ll see if I can hunt down a working example config.
EDIT. I don’t believe my clients receive a gateway address either and it seems to work.
-
Sorry, I posted the incorrect config. Post edited to reflect current config.
I started over from scratch in this latest attempt to rule out any mistakes from my initial attempt. tunnel.1 and the l2tp configs are gone. Latest attempt is IKE.
Given this, do you still think I could create a separate VLAN for VPN Clients? I’d rather not, and on other hardware (Watchguard Firebox) I’ve had VPN clients on the same subnet without issue.
-
DarkGemini I recommend you do the following:
- Create a VPN zone and move tunnel.1 to it
- Setup correct firewall rules
- Change VPN IP pool to be in a different subnet
a /32 is what I would expect on a client PC with with Xauth etc.
-
Hi DarkGemini,
I’ll have a look at your config now, but I’d just thought I’d recommend this VPN client:
http://www.shrew.net/I’ve found it is much more stable (and supports Windows 64bit) than Netscreen Remote and it is free!
So I went this route.
One, this client app is great.
Two… same problem!!!
However, I’ve discovered something this time that I’d missed previously which makes so much sense as to why this is happening.
The VPN client (rather it be IKE or L2TP, with Shrew or the native Windows XP/Vista/7 VPN client) isn’t being assigned a gateway IP address, and is being assigned the incorrect subnet mask (/32 where it should be /24).
Can’t figure out how to correct this.
The updated config is attached below. If anyone has any insight, please share. My sanity depends on it.
Thanks much.
set clock ntp
set clock timezone -5
set clock dst recurring start-weekday 2 0 3 02:00 end-weekday 1 0 11 02:00
set vrouter trust-vr sharable
set vrouter "untrust-vr"
exit
set vrouter "trust-vr"
unset auto-route-export
exit
set service “Exchange-OWA-ActiveSync” protocol tcp src-port 0-65535 dst-port 25-25
set service “Exchange-OWA-ActiveSync” + tcp src-port 0-65535 dst-port 443-443
set alg appleichat enable
unset alg appleichat re-assembly enable
set alg sctp enable
set auth-server “Local” id 0
set auth-server “Local” server-name "Local"
set auth default auth server "Local"
set auth radius accounting port 1646
set admin name "USERNAME"
set admin password ""
set admin auth web timeout 10
set admin auth dial-in timeout 3
set admin auth server "Local"
set admin format dos
set zone “Trust” vrouter "trust-vr"
set zone “Untrust” vrouter "trust-vr"
set zone “DMZ” vrouter "trust-vr"
set zone “VLAN” vrouter "trust-vr"
set zone “Untrust-Tun” vrouter "trust-vr"
set zone “Trust” tcp-rst
set zone “Untrust” block
unset zone “Untrust” tcp-rst
set zone “MGT” block
set zone “DMZ” tcp-rst
set zone “VLAN” block
unset zone “VLAN” tcp-rst
set zone “Untrust” screen tear-drop
set zone “Untrust” screen syn-flood
set zone “Untrust” screen ping-death
set zone “Untrust” screen ip-filter-src
set zone “Untrust” screen land
set zone “V1-Untrust” screen tear-drop
set zone “V1-Untrust” screen syn-flood
set zone “V1-Untrust” screen ping-death
set zone “V1-Untrust” screen ip-filter-src
set zone “V1-Untrust” screen land
set interface “ethernet0/0” zone "Untrust"
set interface “ethernet0/1” zone "DMZ"
set interface “bgroup0” zone "Trust"
set interface bgroup0 port ethernet0/2
set interface bgroup0 port ethernet0/3
set interface bgroup0 port ethernet0/4
set interface bgroup0 port ethernet0/5
set interface bgroup0 port ethernet0/6
unset interface vlan1 ip
set interface ethernet0/0 ip ...125/30
set interface ethernet0/0 route
set interface bgroup0 ip 10.1.10.2/24
set interface bgroup0 nat
unset interface vlan1 bypass-others-ipsec
unset interface vlan1 bypass-non-ip
unset interface ethernet0/0 ip manageable
set interface bgroup0 ip manageable
set interface ethernet0/0 manage ping
set interface bgroup0 manage mtrace
set interface ethernet0/0 vip interface-ip 25 “Exchange-OWA-ActiveSync” 10.1.10.5
set interface ethernet0/1 dhcp client enable
set interface “serial0/0” modem settings “USR” init "AT&F"
set interface “serial0/0” modem settings “USR” active
set interface “serial0/0” modem speed 115200
set interface “serial0/0” modem retry 3
set interface “serial0/0” modem interval 10
set interface “serial0/0” modem idle-time 10
set flow tcp-mss
unset flow tcp-syn-check
unset flow tcp-syn-bit-check
set flow reverse-route clear-text prefer
set flow reverse-route tunnel always
set domain DOMAIN.local
set pki authority default scep mode "auto"
set pki x509 default cert-path partial
set dns host dns1 10.1.10.5 src-interface bgroup0
set dns host dns2 0.0.0.0
set dns host dns3 0.0.0.0
set address “Trust” “LAN - 10.1.10.0/24” 10.1.10.0 255.255.255.0
set ippool “VPN.DOMAIN” 10.1.10.11 10.1.10.25
set user “Robert_VPN” uid 8
set user “Robert_VPN” ike-id fqdn “robert.DOMAIN.local” share-limit 1
set user “Robert_VPN” type ike xauth
set user “Robert_VPN” remote ippool "VPN.DOMAIN"
set user “Robert_VPN” remote dns1 "10.1.10.5"
set user “Robert_VPN” remote wins1 "10.1.10.5"
set user “Robert_VPN” password “"
unset user “Robert_VPN” type auth
set user “Robert_VPN” "enable"
set user-group “VPN_Client” id 2
set user-group “VPN_Client” user "Robert_VPN"
set ike gateway “VPN_Client_Gateway” dialup “VPN_Client” Aggr local-id “vpngw.DOMAIN.local” outgoing-interface “ethernet0/0” preshare "” proposal“pre-g2-3des-sha” “pre-g2-3des-md5” “pre-g2-aes128-sha” "pre-g2-aes128-md5"
set ike gateway “VPN_Client_Gateway” cert peer-ca all
set ike gateway “VPN_Client_Gateway” dpd-liveness interval 30
unset ike gateway “VPN_Client_Gateway” nat-traversal udp-checksum
set ike gateway “VPN_Client_Gateway” nat-traversal keepalive-frequency 20
set ike gateway “VPN_Client_Gateway” xauth server "Local"
unset ike gateway “VPN_Client_Gateway” xauth do-edipi-auth
set ike respond-bad-spi 1
set ike ikev2 ike-sa-soft-lifetime 60
unset ike ikeid-enumeration
unset ike dos-protection
unset ipsec access-session enable
set ipsec access-session maximum 5000
set ipsec access-session upper-threshold 0
set ipsec access-session lower-threshold 0
set ipsec access-session dead-p2-sa-timeout 0
unset ipsec access-session log-error
unset ipsec access-session info-exch-connected
unset ipsec access-session use-error-log
set xauth default ippool "VPN.DOMAIN"
set xauth default dns1 10.1.10.5
set xauth default dns2 10.1.10.5
set xauth default wins1 10.1.10.5
set xauth default wins2 10.1.10.5
set vpn “VPN_Client_Tunnel” gateway “VPN_Client_Gateway” replay tunnel idletime 0 proposal “nopfs-esp-3des-sha” “nopfs-esp-aes128-sha” “nopfs-esp-3des-md5”"nopfs-esp-aes128-md5"
set vrouter "untrust-vr"
exit
set vrouter "trust-vr"
exit
set url protocol websense
exit
set policy id 3 from “Untrust” to “Trust” “Any” “Any” “ANY” permit
set policy id 3
exit
set policy id 1 from “Trust” to “Untrust” “Any” “Any” “ANY” permit
set policy id 1
exit
set policy id 4 name “Exchange” from “Untrust” to “Trust” “Any” “VIP(ethernet0/0)” “ANY” permit
set policy id 4
exit
set policy id 5 name “VPN_Client_Inbound” from “Untrust” to “Trust” “Dial-Up VPN” “LAN - 10.1.10.0/24” “ANY” tunnel vpn “VPN_Client_Tunnel” id 0x14 log
set policy id 5
exit
set nsmgmt bulkcli reboot-timeout 60
set ssh version v2
set config lock timeout 5
unset license-key auto-update
set ssl port 1443
set ntp server "10.1.10.5"
set ntp server src-interface "bgroup0"
set snmp port listen 161
set snmp port trap 162
set vrouter "untrust-vr"
exit
set vrouter "trust-vr"
unset add-default-route
set route 0.0.0.0/0 interface ethernet0/0 gateway ..*.126
exit
set vrouter "untrust-vr"
exit
set vrouter "trust-vr"
exit
-
My setup is similar, but using the vpntracker’s guide for setting up an xauth vpn… I authenticate properly and can ping the gateway lan address, but not other machines on our lan. If i change the default gateway to the trust-vr ip address it works. But some servers are behind load balancers and use a different default gw. Do i need a static route or something?
-
I see in your config that NAT traversal is not enabled.
unset ike gateway “user.vpnP1” nat-traversal
Enable this and then check, as you say that users can get IP and DNS assigned but still they cannot ping and reach any of the trust side devices.
Would sugegst you to enable NAT traversal on your device.
-
Okay so I’ve had a quick look at the configuration and from what I can see you’re running the VPN clients on the same subnet as your local Lan, and the tunnel.1 interface is in the Trust zone.
What I’d normally do is have the VPN clients on a different subnet and different zone, I can then setup policies to allow certain traffic through.
What I think the issue is (and I’ve never setup VPN clients in the same subnet so this might be incorrect) that the devices on your local Lan are not sending the traffic back to the SSG because they think the VPN clients are on the same subnet.
So I believe there are two solutions
- Use Proxy ARP on your Lan/Trust interface with the existing VPN ip pool range.
- Or this is what I’d do:
a1) Create a new zone such as "VPN"
a2) Bind tunnel.1 to that zone. You should still be able to use bgroup0 as the unnumbered interface.
a3) Change the IP pool to be in a new subnet such as x.x.11.0/24
a4) A static route might be required if tunnel.1 is unnumbered
a5) Policies setup between the Trust and VPN zone
You might also need to update the client’s VPN policy with these new details.
-
Hi DarkGemini,
I’ll have a look at your config now, but I’d just thought I’d recommend this VPN client:
http://www.shrew.net/I’ve found it is much more stable (and supports Windows 64bit) than Netscreen Remote and it is free!