ubuntu 20.04.1验证PPtP
<pre><code> PPTP(点对点隧道协议):控制包和数据包分开,控制包采用TCP控制,数据包部分封装PPP协议然后封装GREV2协议。由此可见PPTP建立连接前,要求有IP网络。</code></pre>
<h1 id="ubuntu-20041-上搭建pptp-server和client">Ubuntu 20.04.1 上搭建PPtP Server和Client</h1>
<h2 id="server端">Server端</h2>
<ol>
<li>
<h3 id="安装ppp">安装ppp</h3>
<pre><code class="language-shell">sudo apt install ppp
</code></pre>
</li>
<li>
<h3 id="安装pptpd">安装pptpd</h3>
<pre><code class="language-shell">sudo apt install pptpd
</code></pre>
</li>
<li>
<h3 id="配置pptpd">配置pptpd</h3>
<p>pptpd的配置文件为<code>/etc/pptpd.conf</code>,vim编辑它,一下为部分配置选项,详情可阅读配置文件里面的注释。</p>
<pre><code class="language-text"># ppp拨号程序路径
ppp /usr/sbin/pppd
# ppp配置文件
option /etc/ppp/pptpd-options
# 开启debug,日志输出到syslog
debug
# 连接控制的超时时间(秒)
stimeout 10
# 最大连接数
connections 100
# 本地端(server)IP
localip 192.168.0.1
# 远程对端(client)分配IP范围
remoteip 192.168.0.234-238,192.168.0.245
</code></pre>
<p> 其他默认即可,这里主要修改<code>localip</code>和<code>remoteip</code>。需要注意的是remoteip可以指定一个范围,或者某一个ip,不同的区域用逗号隔开,中间不能有空格。</p>
</li>
<li>
<h3 id="配置pptpd对应的ppp配置文件">配置pptpd对应的ppp配置文件</h3>
<p> pptpd对应的ppp文件文件在上面的<code>/etc/pptpd.conf</code>文件中已指定,为<code>/etc/ppp/pptpd-options</code>,安装pptpd时也一并安装了。</p>
<p> 此文件中主要修改ms-dns项,设置为你想要的dns</p>
<pre><code class="language-text">#ms-dns 10.0.0.1
#ms-dns 10.0.0.2
ms-dns 114.114.114.114
ms-dns 8.8.8.8
</code></pre>
<p> 除此之外,还需要留意这个文件里面对鉴权认证和数据加密相关的设置,默认的为:</p>
<pre><code class="language-text"># 留意refuse(拒绝,禁用)选项
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
</code></pre>
<p> 鉴权大致分为chap和pap,chap又有一些不同分支版本,主要是对安全兼容等方面的加强。</p>
</li>
<li>
<h3 id="设置ppp账户密码">设置ppp账户密码</h3>
<p> 账号密码配置的文件有2个,一个是<code>/etc/ppp/chap-secrets</code>,一个是<code>/etc/ppp/pap-secrets</code>。选用哪一个取决于上一个步骤使用何种验证方式,因为这里禁用了:</p>
<pre><code class="language-text">refuse-pap
refuse-chap
refuse-mschap
</code></pre>
<p>而启用了:</p>
<pre><code class="language-text">require-mschap-v2
</code></pre>
<p>所以这里需要在<code>/etc/ppp/chap-secrets</code>配置账户密码</p>
<pre><code class="language-text"># Secrets for authentication using CHAP
# client serversecret IP addresses
test * test *
admin * admin *
</code></pre>
</li>
<li>
<h3 id="启动服务">启动服务</h3>
<pre><code class="language-text">sudo systemctl enable pptpd
sudo systemctl start pptpd
</code></pre>
<p>由于这里不验证client端通过server端上网,所以没讨论如何设置转发和防火墙的设置。</p>
</li>
<li>
<h3 id="扩展设置转发和防火墙">扩展,设置转发和防火墙</h3>
<h4 id="开启转发">开启转发</h4>
<pre><code class="language-shell">sudo vim /etc/sysctl.conf
#找到对应参数,修改成如下:
net.ipv4.ip_forward=1
#保存,使配置生效
sudo sysctl -p
</code></pre>
<h4 id="配置防火墙">配置防火墙</h4>
<pre><code class="language-shell">sudo iptables -A INPUT -p gre -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 1723 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 47 -j ACCEPT
#NAT转发的这条信息根据自己之前的配置(localip,remoteip网段)修改,注意网卡名设置为你的wan口网卡名,Ubuntu高一点的版本一般是ens33
sudo iptables -t nat -A POSTROUTING -s 192.168.0.1/24 -o ens33 -j MASQUERADE
</code></pre>
<h4 id="重启服务">重启服务</h4>
<pre><code>sudo systemctl restart pptpd
</code></pre>
<p>此时client端可以上外网了。</p>
</li>
</ol>
<h2 id="client端">Client端</h2>
<p> 首先使用另一台ubuntu验证,安装相关的软件</p>
<pre><code class="language-shell">sudo apt-get install network-manager-pptp
sudo apt-get install pptp-linux
</code></pre>
<p>通过UI界面配置</p>
<p><img src="https://img2020.cnblogs.com/blog/689637/202101/689637-20210127162757222-974662305.png"></p>
<p>选择PPTP插件<br>
<img src="https://img2020.cnblogs.com/blog/689637/202101/689637-20210127162843357-474925931.png"></p>
<p>设置密码时需要点一下那个问好,选择第一个或者第二个,才可以输入密码。然后点击Advance,设置高级配置。<br>
<img src="https://img2020.cnblogs.com/blog/689637/202101/689637-20210127163411097-489887182.png"></p>
<p>高级配置里面,根据上面server鉴权和数据加密的配置来勾选,这里server鉴权配置为mschapv2,数据加密使用了mppe-128。保存,连接。<br>
<img src="https://img2020.cnblogs.com/blog/689637/202101/689637-20210127164309475-120662947.png"></p>
<p>然后,使用另一个账号密码在openwrt上连接,需要注意的是,一个账号对应一路连接,同一个账号不能同时从多个client端连接。<br>
<img src="https://img2020.cnblogs.com/blog/689637/202101/689637-20210127164702633-2053837194.png"></p>
<p>在server端可以看到此时有2个ppp连接</p>
<p><img src="https://img2020.cnblogs.com/blog/689637/202101/689637-20210127164910543-1543127487.png"></p>
<p>如果嫌麻烦,也可以直接在win10上验证<br>
<img src="https://img2020.cnblogs.com/blog/689637/202101/689637-20210127165241369-484920646.png"></p>
<p>配置也是相当简单<br>
<img src="https://img2020.cnblogs.com/blog/689637/202101/689637-20210127165331664-401797691.png"></p><br><br>
来源:https://www.cnblogs.com/thammer/p/14335774.html
頁:
[1]