Tip:如果你是新的看客,我在此说明一下前面为什么我要用桥接模式
- 我离光猫远不在一个房间,刚好我有一个多的路由器
- 路由器可以接很多设备啊,如果只有光猫就只有几个口子,资源不够
本文情景:
- 电信光猫一个(型号:华为的HS8145V)
- tplink路由器一个(型号:TL-WR886N)
- 树莓派3b/3b+
- 一台windows电脑/手机
※光猫和路由器在设置上都大同小异的
基本思路:
光猫做主路由器,tplink做从路由器,树莓派设备连接在tplink路由器上。
步骤
- 光纤->光猫 也就是现在你能上网,光猫自带无线功能
-
tplink路由器通电,在电脑或手机打开浏览器访问tplink管理界面(推荐使用电脑操作,比较方便)在应用中找到无线桥接,
第一次使用需要设置,就是搜索主路由器的无线网络,然后连接上,名称密码我都是同主路由器一致的,这是我已经配置好了的界面。
连接上了tplink的主界面显示的是无线桥接,像这样的。
-
现在把树莓派连接上路由器,我用的是网线连接的,可以看到树莓派的ip地址,同tplink是在同一个局域网段的,也就是说现在树莓派是从光猫那里分配的ip地址。
设置树莓派为静态IP地址
sudo nano /etc/dhcpcd.conf
打开DHCP配置文件
修改成如下
interface eth0
static ip_address=你想要的ip地址/24
static routers=你的路由器lan口IP(注意现在你的路由器是光猫,默认lan是192.168.1.1)
staic domain_name_servers=路由器lan口IP 114.114.114.114 (这里后面还有可以保持不变)
主要修改上面的上3点,可以新建内容修改,也可以就在原来位置修改,只需要把前面的#注释符号去除修改后面的ip就可以了。
获取公网ip
公网ip电信用户只需要给10000打电话转人工,让他帮你改成公网IP,就行了(其他网络不知道)
在光猫管理界面的网关信息栏可以看到你的wlanIP即你的公网ip
连接测试
在树莓派上最好装上php,方便测试。这里推荐安装树莓派实验室的这个帖子树莓派安装 Nginx + PHP7.0 + Pi Dashboard,也可以看到树莓派的一些信息。
如果你安装了上面帖子的php,并且能运行,你现在要做的就是修改监听端口
sudo nano /etc/nginx/sites-available/default
把默认的80端口改成你喜欢的端口,比如6666等,不要与一些通用端口相同即可。保存退出
sudo service nginx restart
重启一下nginx服务
打开天翼网关->高级设置->端口映射
修改成你的信息,内部端口就是你nginx刚才设置的监听端口,外部端口随便设置,
设置好了,就可以在浏览器里输入
公网IP:外部端口/pi-dashboard/
这样就可以访问到你的树莓派信息面板了
通过手机用数据流量再来测试一下是否通过公网ip访问的
绑定域名
这里是高级部分,如果觉得每次通过ip地址访问很麻烦,可以尝试买个域名,通过域名访问。
域名购买,实名认证什么的都跳过了,用万网,阿里旗下的审核速度都挺快的,现在主要讲一下,域名解析部分
可以按照我的模式填写你的信息(这里我其实推荐使用dnspod解析域名,dnspod带免费监控,而阿里需要购买)
绑定好就可以通过域名来访问了
我的树莓派dashboard http://www.hltsir.xyz:7777/pi-dashboard/
更新 2019-06-15
在我发布上面文章后不久,我的树莓派就吃灰了,直到最近几天。我又拿出来折腾,发现我的3b+已经凉凉了(被静电损坏了),心痛啊o(╥﹏╥)o。好的废话不多说,进入正文。
现在你们能访问的是用的3b搭建的。
本来我是打算使用路由器的,但是有一个问题,路由器接入光猫算是二级路由了,他分配的ip地址不在光猫路由器的一级路由局域网里,导致我无法进行映射。
树莓派改用了wifi连接,避免了有线带来的不便。
如果要设置静态ip跟前面一样的只是这次换成wlan0了
interface wlan0
static ip_address=192.168.1.101/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.1
关于电信公网动态ip的解决办法
参考:借助Dnspod API定时更新域名解析获取树莓派公网IP
通过二级域名也可以访问哦 http://ddns.hltsir.xyz:7777/pi-dashboard/
关于内存增长问题
在上面这个界面开启后随着时间的推移,内存占用会越来越大,到底是什么导致内存占用呢?
查看占用命令
ps -A --sort -rss -o comm,pmem,pcpu |uniq -c |head -15
lxpanel和xorg 是图形界面的考虑到我基本不使用图形界面所以就把图形界面关了
sudo raspi-config
选择3
Boot Options
选择B1
Desktop / CLI
选择B1或者B2
重启即可关闭界面
之后就是php-fpm7.0占用内存比较大了
在网上查了资料需要修改php-fpm.conf文件内容
实际上是在
/etc/php/7.0/fpm/pool.d/www.conf
这个文件中我的修改如下
pm.max_children = 3
pm.start_servers = 1
pm.min_spare_servers = 1
pm.max_spare_servers = 1
pm.max_requests = 250
重启
sudo service php7.0-fpm restart
参考:nginx+php-fmp 内存不释放
解决Linux下php-fpm进程过多导致内存耗尽问题
更新 2019-6-18
上文关于内存增长的问题,真凶终于找到了,就是我设置的定时的更新ddns的crontab命令导致的
看见那80多个python没有
ps -ef |grep python
尝试关掉那些进程
sudo pkill -9 python
报错了
提示无法操作?怎么办呢
随后我把crontab的定时任务关闭了,再次执行kill进程没有报错成功了
内存占用一下从600多降到200多
但是这样一来定时任务就不能执行了啊,我现在考虑降低ddns的更新频率,或者再设置一个定时杀死python脚本??有没有大佬能有更好的方法呢?给我留言吧!谢谢!!
2019-06-20
我把定时更新ddns的任务设置成每天凌晨3点,再设置一个定时每周三凌晨3点维护重启,这样内存看着就舒服多了.
2019-06-22
最近访问我的树莓派dashboard挂了
原因是dnspod解析的公网ip没有改,根据前面改二级域名的方法再新建一个python脚本,内容只需要更改两处record_id="填你的值"
和 sub_domain="@"
这两个值得获取方法同上。设置好定时脚本。现在两个都可以同时解析了
虽然可以解析了,但是我开了vpn全局模式还是不能访问,直连模式就可以访问,而解析的那个二级域名就不会存在这个问题。蛋蛋的忧伤!!o(╥﹏╥)o
更新 2019-7-16
搬家暂时停机 ,我的域名也快到了,要换域名了!
转载请注明出处!