Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 63841 Details for
Bug 97760
VPN Howto : Using vpnc
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
version 0.5
vpnc-howto.xml (text/plain), 12.55 KB, created by
David H. Askew
on 2005-07-19 19:43:25 UTC
(
hide
)
Description:
version 0.5
Filename:
MIME Type:
Creator:
David H. Askew
Created:
2005-07-19 19:43:25 UTC
Size:
12.55 KB
patch
obsolete
><?xml version='1.0' encoding='UTF-8'?> ><!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> > ><guide link="/doc/vpnc-howto.xml"> > ><title>VPN Howto : Using vpnc</title> > ><author title="Author"> > <mail link="insertemailaddresshere">replace with name</mail> ></author> > ><abstract> >This document details how to connect your workstation to a cisco 3000 vpn >concentrator. ></abstract> > ><version>0.5</version> ><date>2005-07-19</date> > ><chapter> ><title>Introduction</title> > ><section> ><body> > ><p> >If you're reading this, then you likely need to connect to your office network >from home or during travel. Many companies utilize Cisco 3000 vpn concentrators >for their vpn needs, and I am willing to bet that most Linux newbies think that >they are forced to use Windows to connect to them. Well I'm here to tell you >that connecting to a Cisco vpn may very well be possible, and this document >will hopefully enable to you to setup a working tunnel using your Gentoo >workstation or laptop. ></p> > ></body> ></section> > ><section> ><title>What this document is:</title> ><body> > ><ul> > <li>A brief overview of vpn technology, and related issues.</li> > <li>A guide to the basic workings of vpnc.</li> > <li>A discussion of dns and routing issues that relate to vpns.</li> > <li>Examples of managing vpn sessions.</li> > <li>Useful tips and tricks. (Hopefully)</li> ></ul> > ></body> ></section> > ><section> ><title>What this document is not:</title> ><body> > ><ul> > <li>An in-depth guide to vpn / encryption technologies.</li> > <li>A feature by feature explanation of vpnc.</li> ></ul> > ></body> ></section> > ><section> ><title>Assumptions</title> ><body> ><p> >The assumptions made at this point are: ></p> > ><ul> > <li>You have gentoo installed</li> > <li>You have internet access</li> > <li>You want to connect to a cisco 3000 vpn concentrator</li> > <li>You know how to configure, build, and install a new kernel</li> ></ul> > ></body> ></section> ></chapter> > ><chapter> ><title>VPN Technologies</title> ><section> ><body> > ><p> >vpn technology notes go here ></p> > ></body> ></section> ></chapter> > ><chapter> ><title>Kernel Configuration</title> ><section> ><body> > ><note> >The kernel used in this guide is <c>sys-kernel/gentoo-sources 2.6.9-r9</c>. ></note> > ><p> >In order for the Linux to be able to open a vpn connection, "Universal TUN/TAP >device driver support" must be enabled in the kernel. What is it, and why do >we need it? Below is a relatively strait forward explanation from the kernel >configuration dialog: ></p> > ><pre caption="CONFIG_TUN:"> >TUN/TAP provides packet reception and transmission for user space >programs. It can be viewed as a simple Point-to-Point or Ethernet >device, which instead of receiving packets from a physical media, >receives them from user space program and instead of sending packets >via physical media writes them to the user space program. > >When a program opens /dev/net/tun, driver creates and registers >corresponding net device tunX or tapX. After a program closed above >devices, driver will automatically delete tunXX or tapXX device and >all routes corresponding to it. ></pre> > ><p> >You can verify if your kernel has TUN/TAP support with the following command: ></p> > ><pre caption="Checking the kernel config"> ># <i>cat /usr/src/linux/.config | grep TUN</i> >CONFIG_INET_TUNNEL=m ># CONFIG_INET6_TUNNEL is not set ># CONFIG_IPV6_TUNNEL is not set >CONFIG_TUN=m ># CONFIG_8139TOO_TUNE_TWISTER is not set ></pre> > ><p> >As you can see above, <c>CONFIG_TUN=m</c> is compiled as a module. If this is >not the case with your setup, enable support in your kernel of choice, rebuild, >install, reboot, and return to this document before continuing. ></p> > ><pre caption="Config location"> >TUN/TAP support is located under: > >Device Drivers ---> > Networking support ---> > Universal TUN/TAP device driver support ></pre> > ><p> >If you already have TUN/TAP support built for your kernel, or you just booted >your computer after a fresh kernel build, then we need to verify that the >kernel has the appropriate code initialized. ></p> > ><p> >If you built TUN/TAP support directly into the kernel, you should see >information from <c>dmesg</c> output like the following: ></p> > ><pre caption="Checking dmesg output"> ># <i>dmesg | grep TUN</i> >Universal TUN/TAP device driver 1.5 (C)1999-2002 Maxim Krasnyansky ></pre> > ><p> >If you build TUN/TAP support as a module, you first must load the "tun" module. ></p> > ><pre caption="Load tun module"> ># <i>modprobe tun</i> ># <i>lsmod</i> >Module Size Used by >tun 7296 0 >nvidia 4050204 12 ></pre> > ><p> >Now that the "tun" module is loaded, check dmesg output. You should see >something like the following: ></p> ><pre caption="Checking dmesg output"> ># <i>dmesg | grep TUN</i> >Universal TUN/TAP device driver 1.5 (C)1999-2002 Maxim Krasnyansky ></pre> > ></body> ></section> ></chapter> > ><chapter> ><title>Install Needed Software</title> ><section> ><body> > ><p> >Now that we have a working kernel setup, we need to install vpnc. ></p> ><pre caption="Installing vpnc"> ># <i>emerge net-misc/vpnc</i> ></pre> > ><note> >The version of <c>vpnc</c> used in this guide is <c>0.3.2</c>. As of this >writing, <c>vpnc</c> version <c>0.3.3</c> has been released, but it has not yet >added to the portage tree. ></note> > ></body> ></section> ></chapter> > ><chapter> ><title>Example Setup</title> ><section> ><body> > ><p> >In order to make the following sections more clear, we need an example setup >to work from. For the purposes of this exercise, we will assume that we have >a home network of several computers. All computers are on the 192.168.0.0 / >255.255.255.0 network. The lan in question is run by a Gentoo box running an >iptables firewall / dhcp / caching dns / etc ..., and it masquerading the lan >behind the public ip address it receives from an ISP. We now have a >workstation on the lan that we want to be able to vpn into our office with. ></p> ><p> >Our workstation configuration looks like the following ></p> ><pre caption="/etc/resolv.conf"> ># <i>cat /etc/resolv.conf</i> >nameserver 192.168.0.1 ></pre> > ><pre caption="/etc/hosts"> ># <i>cat /etc/hosts</i> >127.0.0.1 desktop localhost >192.168.0.1 router >192.168.2.2 mediacenter ></pre> > ><pre caption="our interface settings"> ># <i>ifconfig -a</i> >eth0 Link encap:Ethernet HWaddr 00:11:2F:8D:08:08 > inet addr:192.168.0.2 Bcast:192.168.0.255 Mask:255.255.255.0 > inet6 addr: fe80::211:2fff:fe8d:808/64 Scope:Link > UP BROADCAST NOTRAILERS RUNNING MULTICAST MTU:1500 Metric:1 > RX packets:3657889 errors:0 dropped:0 overruns:0 frame:0 > TX packets:2305893 errors:0 dropped:0 overruns:0 carrier:0 > collisions:0 txqueuelen:1000 > RX bytes:2193722103 (2092.0 Mb) TX bytes:1415104432 (1349.5 Mb) > Interrupt:185 Memory:fac00000-0 > >lo Link encap:Local Loopback > inet addr:127.0.0.1 Mask:255.0.0.0 > inet6 addr: ::1/128 Scope:Host > UP LOOPBACK RUNNING MTU:16436 Metric:1 > RX packets:35510 errors:0 dropped:0 overruns:0 frame:0 > TX packets:35510 errors:0 dropped:0 overruns:0 carrier:0 > collisions:0 txqueuelen:0 > RX bytes:16023838 (15.2 Mb) TX bytes:16023838 (15.2 Mb) ></pre> > ><pre caption="our routing table"> ># <i>netstat -r</i> >Kernel IP routing table >Destination Gateway Genmask Flags MSS Window irtt Iface >192.168.0.0 * 255.255.255.0 U 0 0 0 eth0 >loopback desktop 255.0.0.0 UG 0 0 0 lo >default router 0.0.0.0 UG 0 0 0 eth0 ></pre> > ></body> ></section> ></chapter> > > ><chapter> ><title>Setup vpnc</title> ><section> ><body> > ><p> >Now that we have vpnc installed, and we have an example to work from, lets >discuss the basics of setting up vpnc. The configuration file for vpnc >connection settings can be located in a couple places, depending on how many >"profiles" you want to setup. By default, vpnc looks first for ><c>/etc/vpnc/default.conf</c> for its connection settings. If it doesn't >find that file, then it looks for <c>/etc/vpnc.conf</c>. This setup will only >address a single profile example, and will use the config file location ><c>/etc/vpnc.conf</c>. ></p> > ><pre caption="example config file"> ># <i>cat /etc/vpnc.conf</i> >IPSec gateway vpngateway.domain.org >IPSec ID group_id >IPSec secret group_password >Xauth username network_signon >Xauth password network_password ></pre> > ><p> >The config file example above should be modified to reflect the appropriate >values for your setup. The gateway option <c>vpngateway.domain.org</c> can be >a fully qualified domain name or an ip address. The ID and secret options >should be given to you by a network adminstrator. If they are hisitent about >giving you this info, and you currently have a working setup on a Windows box >which utilizes the official Cisco vpn client, then all you have to do is export >your profile. The username and password options are for your normal network >sign-on, such as a Windows NT domain account. ></p> > ><p> >If you are forced to export your profile from a Windows machine, then what you >will likely have is a file ending in <c>.pcf</c>. This file will have all the >information you need. Below is an example: ></p> > ><pre caption="example.pcf"> ># <i>cat example.pcf</i> >[main] >Description= >Host=VPNGATEWAY.DOMAIN.ORG >AuthType=1 >GroupName=group_id >GroupPwd= >enc_GroupPwd=F3256220AA200A1D532556024F4F314B0388D48B0FBF2DB12 >EnableISPConnect=0 >ISPConnectType=0 >ISPConnect=AHSSSCI >ISPCommand= >Username= >SaveUserPassword=0 >UserPassword= >enc_UserPassword= >NTDomain= >EnableBackup=0 >BackupServer= >EnableMSLogon=1 >MSLogonType=0 >EnableNat=1 >TunnelingMode=0 >TcpTunnelingPort=10000 >CertStore=0 >CertName= >CertPath= >CertSubjectName= >CertSerialHash=00000000000000000000000000000000 >SendCertChain=0 >VerifyCertDN= >DHGroup=2 >ForceKeepAlives=0 >PeerTimeout=90 >EnableLocalLAN=0 >EnableSplitDNS=1 >ForceNetLogin=0 ></pre> > ><p> >In the above example, we can see entries for "Host","GroupName", and >"enc_GroupPwd". Your "Username" and "UserPassword" may or may not be exported, >depending on the setup. ></p> > ><note> >The vpnc config file uses an unencrypted group password (IPSec secret), so if >you do not know the group password, but you have a copy of the encrypted group >password from an exported profile, the you need not worry. The encoding scheme >for these group passwords is widely known, and all you have to do is visit a >webpage that will offer to decrypt it for you. The ><uri link="http://www.unix-ag.uni-kl.de/~massar/vpnc/">vpnc homepage </uri> >has a link to just such a page ><uri link="http://www.unix-ag.uni-kl.de/~massar/bin/cisco-decode">here</uri>. ></note> > ></body> ></section> > ><section> ><title>Testing our setup</title> ><body> > ><p> >Now that we have our configuration in place, its time to test our setup. To >startup vpnc you do the following: ></p> > ><pre caption="vpnc-connect example"> ># <i>vpnc-connect</i> ></pre> > ></body> ></section> > ></chapter> > ><chapter> ><title>Setup routing tables</title> ><section> ><body> > ><p> >routing setup notes go here ></p> > ></body> ></section> ></chapter> > ><chapter> ><title>Setup dns</title> ><section> ><body> > ><p> >dns setup notes go here ></p> > ><p> >second paragraph goes here. ></p> > ></body> ></section> ></chapter> > ><chapter> ><title>Manage the connection</title> ><section> ><body> > ><p> >Here is a script example to manage the vpn connection. You could execute it >(as root) from an xterm to start a connection to your vpn. Then all you have >to do is press return to disconnect the vpn. ></p> > ><pre caption="Example session management script"> ># <i>cat vpn.sh</i> >vpnc-connect >route add default gw 192.168.0.1 >route add -net 172.25.230.0 netmask 255.255.255.0 dev tun0 >route add -net 192.168.160.0 netmask 255.255.255.0 dev tun0 >route add -net 192.168.125.0 netmask 255.255.255.0 dev tun0 >route add -host 192.168.125.10 dev tun0 >route add -host 192.168.125.20 dev tun0 >cp /etc/resolv.conf.work /etc/resolv.conf >echo "press any key to disconnect ..." >read $disconnect >vpnc-disconnect >cp /etc/resolv.conf.home /etc/resolv.conf >route add default gw 192.168.0.1 >echo "vpn should now be disconnected ... hit enter to exit" >read $whocares ></pre> > ></body> ></section> ></chapter> > > ><chapter> ><title>Tips and Tricks</title> ><section> ><body> > ><p> >net-misc/grdesktop - gnome tool for rdp sessions to wintel servers ></p> > ><p> >nmblookup (samba WINS tool) - give an example of using nmblookup to query a >WINS server for a given netbios name ></p> > ><p> >net-misc/kvpnc - a kde vpn management gui ></p> > ></body> ></section> ></chapter> > ><chapter> ><title>Useful Links</title> ><section> ><body> > ><p> ><uri link="http://www.unix-ag.uni-kl.de/~massar/vpnc/">vpnc homepage</uri> ></p> > ></body> ></section> ></chapter> > ><chapter> ><title>Final Notes</title> ><section> ><body> > ><p> >Final Notes go here. ></p> > ></body> ></section> ></chapter> ></guide>
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 97760
:
62501
|
62511
|
62569
|
62813
|
63106
|
63841
|
64761
|
64838
|
64911
|
65170
|
65339
|
77310
|
78833
|
111455
|
120062