在Linode上安裝VPN

來源:互聯網
上載者:User
最近美國的Office準備修改VPN的設定,

1、用OpenVPN取代現在的PPTP VPN.

2、限制VPN對Internet的訪問,今後通過VPN只能訪問內部資源。

對我的影響則是:

1、不能用手機連入VPN了,iPhone不支援OpenVPN。

2、不能用公司VPN了。

不得以想到自己在Linode的VPS,通常只用來做一些測試和host一些Imified的Bot,每月200G的流量大多浪費了,不如乾脆自己建一個VPN好了。

因為單純自用,不需要什麼複雜的配置,很簡單的就搞定了,步驟如下:

1、安裝PPTP服務,因為系統是Ubuntu,所以簡單的apt-get就可以了。

sudo apt-get install pptpd -y

2、修改/etc/pptpd.conf

這個設定檔內容很簡單,主要需要修改的就是檔案末尾的localip和remoteip

#localip 192.168.0.1

#remoteip 192.168.0.234-238,192.168.0.245

remoteip指的是將來分配給VPN Client的IP,localip則是將來VPN Client看到的遠端地址。VPN Client建立VPN串連後:

在VPN Client上ifconfig看到的:

ppp0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1444

inet 192.168.0.234 --> 192.168.0.1 netmask 0xffffff00

在Linode上ifconfig看到的:

ppp0Link encap:Point-to-Point Protocol

inet addr:192.168.0.1 P-t-P:192.168.0.234 Mask:255.255.255.255

UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1496 Metric:1

RX packets:385 errors:0 dropped:0 overruns:0 frame:0

TX packets:322 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:3

RX bytes:56584 (56.5 KB) TX bytes:91628 (91.6 KB)

3、修改/etc/ppp/chap-secrets,這個檔案名稱中儲存了訪問VPN的使用者名稱密碼,格式如下:

username pptpd password *

Username和password都是明文;pptpd代表格服務名,和/etc/ppp/options.pptpd裡的name對應,通常預設值就是pptpd;最後一項是分配這個使用者的ip,*代表隨機分配。

4、修改/etc/ppp/options.pptpd,大多數配置項都不需要修改,除了DNS設定:

#ms-dns x.x.x.x

#ms-dns x.x.x.x

去掉前面的#注釋符號,修改地址為真正有效DNS伺服器位址。VPN Client建立VPN串連後,就會使用這裡指定的DNS伺服器來解析網域名稱。如果這裡不指定,就需要在每個VPN Client上指定。

如果系統是Ubuntu,還需要在這個檔案中指定log檔案的位置,否則就需要在/etc/pptpd.conf中注釋掉logwtmp以徹底關閉log。

logfile /var/log/pptpd.log

5、重啟PPTP

/etc/init.d/pptpd restart

通常這樣VPN就可以工作,Client已經可以建立到Server的VPN串連,並且訪問Server的資源了。但是因為沒有建立從VPN到Internet的路由,所以Client是無法通過VPN訪問Internet,需要通過設定路由規則來解決。

6、開啟IP轉寄

修改/etc/sysctl.conf,開啟net.ipv4.ip_forward=1

執行sysctl -p使配置生效。

7、安裝iptables,通過iptables設定轉寄規則簡單,

apt-get intall iptables

8、添加轉寄規則

iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE

192.168.0.0/24 對應remoteip的網段

9、儲存iptables轉寄規則

由於iptables添加的轉寄規則在系統或網路裝置重啟後就會失效,所以需要儲存iptables的配置,並使它能在重啟後恢複。

儲存轉寄規則到/etc/iptables-rules

iptables-save > /etc/iptables-rules

建立新檔案/etc/network/if-up.d/iptables

#!/bin/sh

iptables-restore < /etc/iptables-rules

chmod +x /etc/network/if-up.d/iptables

這樣每次網卡啟動時都會重新從iptables-rules讀取iptables的轉寄規則

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.