<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-27444355</id><updated>2011-11-27T19:18:23.992-05:00</updated><title type='text'>Office 2.0</title><subtitle type='html'>Upgrade today!</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://office20.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27444355/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://office20.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Office 2.0</name><uri>http://www.blogger.com/profile/11057552654508206755</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>1</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-27444355.post-114991992180845283</id><published>2006-06-10T05:47:00.000-04:00</published><updated>2006-06-10T05:50:28.756-04:00</updated><title type='text'>VPN Howto: Linksys + DD-WRT + PPTP + Mac OS X Client</title><content type='html'>&lt;h2&gt;The Problem&lt;/h2&gt;&lt;br /&gt;So we couldn't find any documentation on getting a Mac OS X VPN client to connect to our Linksys router using PPTP, so we thought we'd post a short guide. We used Mac OS X Tiger 10.4.6 and a Linksys WRT54GL running DD-WRT v23 SP1, but these steps should work with any router running  DD-WRT.&lt;br /&gt;&lt;br /&gt;Following the guides we've found will result in Internet Connect aborting with the error, "Could not negotiate a connection with the remote PPP server".&lt;br /&gt;&lt;br /&gt;The problem is that OS X's pppd gets confused about &lt;a href="http://en.wikipedia.org/wiki/MPPE"&gt;MPPE&lt;/a&gt; encryption and fails to properly start negotiate the encryption:&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;&lt;br /&gt;$ tail /var/log/ppp.log&lt;br /&gt;Sat Jun 10 02:43:15 2006 : Refusing MPPE stateful mode offered by peer&lt;br /&gt;Sat Jun 10 02:43:15 2006 : MPPE required but peer negotiation failed&lt;/pre&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/6162/2891/1600/internetconnectpppfail.0.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/6162/2891/400/internetconnectpppfail.0.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;Enabling encryption in OS X actually requires encryption. DD-WRT's default PPTP config enables encryption but does not force it. The problem is that OS X's pppd will fail on encryption negotiation unless the &lt;span style="font-weight:bold;"&gt;server requires encryption&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Instead of disabling encryption altogether, we need to change DD-WRT's PPTP config to force encryption. The easiest way to do this is to create a startup script that overwrites the default PPTP config. The complete steps follow.&lt;br /&gt;&lt;h2&gt;Router Configuration&lt;/h2&gt;&lt;br /&gt;1) Install the most recent version of the dd-wrt firmware for your router.&lt;br /&gt;&lt;br /&gt;2) Click on &lt;span style="font-style:italic;"&gt;Administration&lt;/span&gt;, &lt;span style="font-style:italic;"&gt;Services&lt;/span&gt;. In the &lt;span style="font-style:italic;"&gt;PPTP&lt;/span&gt; section, enable &lt;span style="font-style:italic;"&gt;PPTP Server&lt;/span&gt;. At the bottom, hit &lt;span style="font-style:italic;"&gt;Save Settings&lt;/span&gt;.&lt;br /&gt;Now that we have enabled the PPTP server, we must configure it.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/6162/2891/1600/pptpenable.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/6162/2891/400/pptpenable.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;3) Click on &lt;span style="font-style:italic;"&gt;Administration&lt;/span&gt;, &lt;span style="font-style:italic;"&gt;Services&lt;/span&gt;. In the &lt;span style="font-style:italic;"&gt;PPTP&lt;/span&gt; section, enter the &lt;span style="font-weight:bold;"&gt;LAN&lt;/span&gt; address of your router (probably 192.168.1.1). In the &lt;span style="font-style:italic;"&gt;Client IP(s)&lt;/span&gt; section, enter a range of one or more IP addresses that do not overlap with the DHCP address range. For example: "192.168.1.10-20". In the &lt;span style="font-style:italic;"&gt;CHAP-Secrets&lt;/span&gt; section, enter a list of username/password combinations in the following file format:&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;user * password *&lt;br /&gt;bob * bobspassword *&lt;/pre&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/6162/2891/1600/pptpsettings.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/6162/2891/400/pptpsettings.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;Also, note that the root username/password is also allowed to connect via PPTP. At the bottom, hit &lt;span style="font-style:italic;"&gt;Save Settings&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;The PPTP Server is now configured. However, we need to create a startup script to overwrite one of the PPTP config files. &lt;br /&gt;&lt;br /&gt;3) Click on &lt;span style="font-style:italic;"&gt;Administration&lt;/span&gt;, &lt;span style="font-style:italic;"&gt;Diagnostics&lt;/span&gt;. In the &lt;span style="font-style:italic;"&gt;Commands&lt;/span&gt; text area, paste the following script:&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;echo 'lock' &gt; /tmp/pptpd/options.pptpd&lt;br /&gt;echo 'name *' &gt;&gt; /tmp/pptpd/options.pptpd&lt;br /&gt;echo 'proxyarp' &gt;&gt; /tmp/pptpd/options.pptpd&lt;br /&gt;echo 'ipcp-accept-local' &gt;&gt; /tmp/pptpd/options.pptpd&lt;br /&gt;echo 'ipcp-accept-remote' &gt;&gt; /tmp/pptpd/options.pptpd&lt;br /&gt;echo 'lcp-echo-failure 3' &gt;&gt; /tmp/pptpd/options.pptpd&lt;br /&gt;echo 'lcp-echo-interval 5' &gt;&gt; /tmp/pptpd/options.pptpd&lt;br /&gt;echo 'deflate 0' &gt;&gt; /tmp/pptpd/options.pptpd&lt;br /&gt;echo 'auth' &gt;&gt; /tmp/pptpd/options.pptpd&lt;br /&gt;echo '-chap' &gt;&gt; /tmp/pptpd/options.pptpd&lt;br /&gt;echo '-mschap' &gt;&gt; /tmp/pptpd/options.pptpd&lt;br /&gt;echo '+mschap-v2' &gt;&gt; /tmp/pptpd/options.pptpd&lt;br /&gt;echo 'mppe required' &gt;&gt; /tmp/pptpd/options.pptpd  #this line forces encryption and fixes OS X&lt;br /&gt;echo 'mppe stateless' &gt;&gt; /tmp/pptpd/options.pptpd&lt;br /&gt;echo 'mppc' &gt;&gt; /tmp/pptpd/options.pptpd&lt;br /&gt;echo 'ms-ignore-domain' &gt;&gt; /tmp/pptpd/options.pptpd&lt;br /&gt;echo 'chap-secrets /tmp/pptpd/chap-secrets' &gt;&gt; /tmp/pptpd/options.pptpd&lt;br /&gt;echo 'ip-up-script /tmp/pptpd/ip-up' &gt;&gt; /tmp/pptpd/options.pptpd&lt;br /&gt;echo 'ip-down-script /tmp/pptpd/ip-down' &gt;&gt; /tmp/pptpd/options.pptpd&lt;br /&gt;echo 'ms-dns 192.168.1.1'   &gt;&gt; /tmp/pptpd/options.pptpd #enter your router's ip here&lt;br /&gt;echo 'mtu 1450' &gt;&gt; /tmp/pptpd/options.pptpd&lt;br /&gt;echo 'mru 1450' &gt;&gt; /tmp/pptpd/options.pptpd&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/6162/2891/1600/startupscript.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/6162/2891/1600/startupscript.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;Make sure to replace "192.168.1.1" with your the LAN IP of your router, if it's different. Click &lt;span style="font-style:italic;"&gt;Save Startup&lt;/span&gt;. The router is configured, let's setup the VPN connection in OS X.&lt;br /&gt;&lt;h2&gt;OS X Configuration&lt;/h2&gt;&lt;br /&gt;1) Open &lt;span style="font-style:italic;"&gt;Internet Connect&lt;/span&gt;. In the &lt;span style="font-style:italic;"&gt;File&lt;/span&gt; menu, select &lt;span style="font-style:italic;"&gt;New VPN Connection&lt;/span&gt;. Pick &lt;span style="font-style:italic;"&gt;PPTP&lt;/span&gt; and click &lt;span style="font-style:italic;"&gt;Continue&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/6162/2891/1600/vpnnew.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/6162/2891/400/vpnnew.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/6162/2891/1600/vpntype.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/6162/2891/400/vpntype.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2) Under &lt;span style="font-style:italic;"&gt;Server address&lt;/span&gt;, enter the &lt;span style="font-weight:bold;"&gt;WAN&lt;/span&gt; IP or hostname of your router. For &lt;span style="font-style:italic;"&gt;Account Name&lt;/span&gt; and &lt;span style="font-style:italic;"&gt;Password&lt;/span&gt;, you can use any of the accounts specified earlier, or the root username/password that is used to login to the router.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/6162/2891/1600/vpnsetup.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/6162/2891/400/vpnsetup.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;3) In the &lt;span style="font-style:italic;"&gt;Connect&lt;/span&gt; menu, select &lt;span style="font-style:italic;"&gt;Options&lt;/span&gt;. Disable &lt;span style="font-style:italic;"&gt;Send all traffic over VPN connection&lt;/span&gt; and hit &lt;span style="font-style:italic;"&gt;OK&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/6162/2891/1600/vpnoptions.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/6162/2891/400/vpnoptions.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/6162/2891/1600/vpnroute.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/6162/2891/400/vpnroute.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;4) Click the &lt;span style="font-style:italic;"&gt;Connect&lt;/span&gt; button and enjoy your VPN.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/6162/2891/1600/vpnworking.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/6162/2891/400/vpnworking.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27444355-114991992180845283?l=office20.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://office20.blogspot.com/feeds/114991992180845283/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27444355&amp;postID=114991992180845283' title='37 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27444355/posts/default/114991992180845283'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27444355/posts/default/114991992180845283'/><link rel='alternate' type='text/html' href='http://office20.blogspot.com/2006/06/vpn-howto-linksys-dd-wrt-pptp-mac-os-x.html' title='VPN Howto: Linksys + DD-WRT + PPTP + Mac OS X Client'/><author><name>Office 2.0</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>37</thr:total></entry></feed>
