TP-LINK WDR6500 V2 刷 OpenWRT 18.06.2 搭建PPTP服務器


硬件資料

OpenWRT給出的:https://openwrt.org/toh/hwdata/tp-link/tp-link_tl-wdr6500_v2官網都沒那么全

image-20200523191456720

一、刷系統

參考:https://www.sunxidong.com/289.html

需要的硬件軟件:TP-LINK WDR6500 V2,Breed固件,OpenWRT WDR6500 專用固件

breed:http://img.hfzs.store/file/openwrt/wdr6500v2.bin

專用固件:http://img.hfzs.store/file/openwrt/openwrt-18.06.2-ar71xx-generic-tl-wdr6500-v2-squashfs-factory.bin

(自己家的服務器,心情不好能會關,有需要艾特一下我吧哈哈)

1. 燒breed

瀏覽器輸入192.168.1.1(也可以是其他)打開tp-link配置頁面,系統設置,更新固件,上傳下載好的wdr6500v2.bin,點擊更新,等待自動重啟。

這時重啟好之后還是之前的tp-link配置頁面,需要按下reset鍵(有個圓形小孔)持續幾秒鍾,直到led不挺閃爍,松開reset,等待幾秒鍾,再輸入網址192.169.1.1登錄配置界面,就能看到breed的配置界面。

1-1

2. 燒OpenWRT固件

先科普一下,factory與sysupgrade版本的區別。factory.bin = sysupgrade.bin + 剩余flash + 系統配置文件。sysupgrade是用來升級OpenWRT的,直接用breed燒進sysupgrade也能用,但是很需要技巧,本文最后說一下怎樣ssh進入openwrt命令行重新燒進factory.bin

在breed 的固件更新界面,勾選固件上傳xxx-factory.bin,自動重啟,點擊開始刷固件就行。過一會重新登錄192.168.1.1就能看到OpenWRT的界面。首次登錄用戶名是root,沒有密碼,直接確定就行

image-20200521232303731

3. 漢化

web界面安裝中文包。點擊system下的software,filter 輸入luci-i18n-base-zh-cn,點擊查找,把找到的包裝了會自動更新界面的。可能會遇到搜不出來的問題,可能是你wan口沒插好,或者dns配置有誤,本文最后會教如何解決。

image-20200521233010076

4. 設置LAN口和WAN口

基本上路由器wan口插上能外網的網線,lan口插上你的PC機,pc機網卡設置自動獲取就能獲得192.168.1.0/24的IP地址,沒別的需求的話已經能用了。但往下我們需要配置pptp服務器,所以先把WAN口和LAN口設置一個靜態IP。LAN口為192.168.1.1/24開DHCP,WAN口192.168.31.254/24關DHCP,因為我想外網訪問所以wan要設置個IP。到此為止用web界面做的配置就配置完了,pc機也能正常上網了,下面開始命令行配置pptpd。

image-20200523120845642

二、配置pptp server

1. 連接OpenWRT的ssh

本文用的是xshell客戶端,如果是win10系統的話直接在命令行敲ssh root@192.168.1.1因為win10自帶了ssh客戶端,openwrt默認的用戶是root,IP默認是192.168.1.1,如果LAN設置了其他IP對着來改就是。然后敲yes保存公鑰,然后輸入密碼(輸入的密碼是看不見的,密碼默認為空,直接敲回車)。然后就連上了。

image-20200523122826582

2. 安裝pptp

官方https://oldwiki.archive.openwrt.org/doc/howto/vpn.server.pptpd#prerequisites

$ opkg update    #更新一下包列表,如果失敗或者報錯,ping www.baidu.com 看看能不能連網,或者按照下面方法更新一下dns
$ opkg install pptpd kmod-mppe ppp    #最好分三條命令安裝着三個包

下面是安裝好的樣子。

image-20200523123432830

然后就是配置pptpd了,官方有三個配置文件可以修改/etc/pptpd.conf,/etc/ppp/options.pptpd,/etc/ppp/chap-secrets但OpenWRT提供了一個更簡單的配置方法直接配置/etc/config/pptpd,就可以滿足日常需要

$ vi /etc/config/pptpd
#寫入一下信息
config service 'pptpd'
        option 'enabled' '1'   #使能
        option 'localip' '192.168.1.1'    #連接VPN之后客戶端看到的VPN服務器地址,應該不算是網關,但功能查不到
        option 'remoteip' '192.168.1.2-5'   #客戶端分配地址范圍
        option 'nat' '1'    #啟用net裝換,猜的
        option 'internet' '1'   #能和局域網通信,猜的

config 'login'    #能登陸的賬號
        option 'username' 'aaa'
        option 'password' 'aaa'

config 'login'
        option 'username' 'bbb'
        option 'password' 'bbb'

下面是我的本機配置。

image-20200523124820230

然后就可以啟動pptpd啦,然后看一下是否成功監聽1723端口

$ /etc/init.d/pptpd enable    # 開啟啟動,這個是最直接的方法,和service pptpd enable,效果是一樣的
$ /etc/init.d/pptpd start    # 啟動
$ netstat -antp    # 查看端口1723

下面是我本機的例子。

image-20200523125602980

3. 連接vpn

我是用win10自帶的vpn客戶端,設置->網絡和internet->vpn,設置IP(ip要是屬於OpenWRT的,能ping通),用戶名,密碼,然后直接連接。然后沒有意外是連不上的提示:端口已關閉之類的的錯誤。然后怎么辦呢。

我是先開打cmd,telnet到OpenWRT的1723端口發現是通的,端口是沒問題的,

telnet

百度了一下發現是18.x版本去除了個模塊要手動安裝,參考https://blog.csdn.net/boliang319/article/details/49755701,官方https://oldwiki.archive.openwrt.org/doc/howto/vpn.nat.pptp

$ opkg install kmod-nf-nathelper-extra

然后重啟下網絡和pptpd,連上了,皆大歡喜。然而很沒有介紹,連上vpn之后發現不能連外網,需要配置iptables規則,參考https://blog.csdn.net/d9394952/article/details/87868803,官方https://oldwiki.archive.openwrt.org/doc/howto/vpn.server.pptpd#prerequisites

$ vi /etc/firewall.user    #用來配置用戶規則的,主要規則在/etc/config/network
iptables -A forwarding_rule -i ppp+ -j ACCEPT 
iptables -A forwarding_rule -o ppp+ -j ACCEPT 
iptables -A output_rule -o ppp+ -j ACCEPT 
iptables -A input_wan_rule -p tcp --dport 1723 -j ACCEPT 
iptables -A input_wan_rule -p tcp --dport 47 -j ACCEPT 
iptables -A input_wan_rule -p gre -j ACCEPT 
iptables -A input_rule -i ppp+ -j ACCEPT     #上面簡單來說就是配置允許ppp+和wan口的1723,47端口只能走tcp協議

然后練了vpn之后就能連網啦。但是還是不能訪問局域網的其他主機,還要研究下。

2020年6月2日17點20分更新

最近openwrt突然死了一次,可能是開太久了把,所以按照上面方法再做了一次。我最后直接是吧firewall給關掉了,但是用不敢把input,output規則設置成DROP,畢竟弄錯了又要再來一遍,所以用我家的小米路由器做端口轉發就算了,以下是iptables配置

首先先把防火牆關調,他是會自動清除iptables所有規則的

$ /etc/init.d/firewall stop && /etc/init.d/firewall disable

然后我們需要一條net轉換規則用來給局域網內的機器連通外網,就是把局域網主機往外發的數據包改成右openwrt往外發。

$ iptables -t NAT -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE

為什么要用MASQUERADE呢,因為我發現直接-j SNAT --to-source 192.168.31.254(wan口地址),

居於網主機是ping不通192.168.31.254的...尷尬。

再然后我們需要把服務器的9000端口映射帶外網,所以首先我們要把小米路由的9000映射到192.168.31.254(openwrt wan口),然后設置我們的iptables做端口轉發,

$ iptables -t nat -A PREROUTING -p tcp --dport 9000 -j DNAT --to-destination 192.168.1.254:9000
$ iptables -t nat -A POSTROUTING -d 192.168.1.254 -p tcp --dport 9000 -j MASQUERADE

這樣既能上網又能端口映射了。

22點28分2020年6月9日更新

現在問題是內網機和客戶端不能互訪,客戶機能ping內網機,內網機ping不同客戶端。

經過幾天的排查,發現了一些比較重要的問題,第一,連外網的nat轉換沒用指定網卡,所以把所有的192.168.1.0/24的包都SNAT成192.168.1.1所以正確的我們要這樣修改

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

修改網之后全體人員都能連外網了,接下來就是互訪問題,我們需要開啟arp代理....打開設置文件 vim /etc/ppp/options.pptpd添加以下一項

proxyarp    #客戶端IP和內部網絡在同一網段必須啟用ARP代理

image-20200609223430968

然后重啟pptpdservice pptpd restart然后就好了。參考https://www.oschina.net/question/139033_84155

問題與解決

opkg update 報錯:* opkg_conf_load: Could not lock /var/lock/opkg.lock: Resource temporarily unavail

dns服務器解析不到。download.openwrt.org,改下dns就行

$ echo "nameserver 114.114.114.114">/tmp/resolv.conf
$ rm -f /var/lock/opkg.lock
$ opkg update

OpenWRT命令行燒.bin固件文件

首先要把.bin文件拷到openwrt去,我用的是win10自帶的scp命令,走22端口的。

$ scp xxx.bin root@192.168.1.1:/tmp/root    #我的就/tmp/root稍微大一點所以就考到這里了

然后進入OpenWRT進行燒寫命令。

$ mtd -r write /tmp/root/xxxx.bin firmware    #這個命令是用來燒原廠固件的,也就是xxxfactory.bin
$ sysupgrade /tmp/root/xxx.bin    #設置是燒升級固件的,也就是xxxsysupgrade.bin


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM