重庆联通家庭宽带网络优化
前言
办好宽带,正常来讲上网浏览必然是没有问题的,所谓优化是指家中设备获取ipv6,从公网访问家中设备以及为路由器下的设备自动配置PAC。
我家是光猫拨号,如果你家光猫配置了桥接是路由器拨号,那么文中对于光猫的操控对应的实际应该在路由器上
设备获取ipv6
你可以通过 ipv6-test.com 查看当前设备是否已经具备了ipv6地址,
这是我目前的测试结果,可以看到已经有ipv6了
如果没有再按照下列步骤去配置:
- 检查光猫是否有ipv6接入,进入光猫管理系统(找联通拿管理员密码),查看
IPv6 WAN连接信息
,如果没有的话就不用往下看了,找运营商处理。
GUA(global unique address)就是ipv6地址
- 进入路由管理系统,确保IPV6开启并使用直通(passthrough)模式
运营商的DNS不够快可以换成阿里云的公共DNS
- 配置完成
对于老一点的华硕路由器,如果客户端仍然无法获取ipv6地址可以尝试关闭NAT加速,我这款act68u就有这个问题
从公网访问设备
大家都知道想要从公网访问设备,设备必须要有固定的公网地址,家宽基本不可能,无论是ipv6还是ipv4都会动态变化,拨号时由运营商下发。
解决变化问题,如果你不在意域名好坏可以使用光猫或者路由器内置的ddns功能,我并没使用,因为我有自己的域名,所以是通过shell脚本简单实现的。
假设modem.your.home 域名有A记录指向光猫公网ipv4地址,AAAA记录指向光猫公网ipv6地址,router.your.home 域名有AAAA记录指向路由器ipv6地址,device.your.home 域名有AAAA记录指向设备ipv6地址
最后一步就是允许公网流量进入设备,我们分别从ipv4和ipv6介绍。
从ipv4公网访问设备
电脑连接手机共享热点,避免连接家中网络才可以真实测试到网络联通性。
-
首先测试光猫能否联通
ping modem.your.home
,不行的话进入光猫管理系统,确保广域网访问使能勾选上,防火墙等级允许wan侧ping
-
测试路由器能否联通
由于路由器属于光猫子网,在ipv4网络中没有公网地址,所以只能通过telnet命令测试指定端口能否联通。这里假设测试路由器(192.168.1.2)的管理系统80端口。先在光猫管理系统中开启端口转发,将光猫8080端口转发到路由器80端口
添加完成后测试telnet modem.your.home 8080
如果不通进入路由器管理系统,查看系统设置是否允许外部访问管理系统
我的路由器已经开启,不过根据提示只支持8443,所以我将端口转发到了8443
如果还是不通,查看路由器自身防火墙是否允许入站80
非常不建议直接关闭任何防火墙,暴露到公网如果没有防火墙那就是裸奔
通过ssh登录路由器,执行命令
iptables -L|grep 80
,应该没有任何输出,执行命令iptables -I INPUT -p tcp --dport 80 -j ACCEPT
允许入站我的路由器管理系统无法在网页里面添加入站规则,所以需要登录ssh进行操作
-
测试设备能否联通
由于设备属于路由器子网,同理只能测试端口。这里假设测试设备(192.168.50.123)上的80端口。先在光猫中添加一条端口转发规则,上面已经讲过不再重复,再在路由器管理系统中开启端口转发,例如这里的流量链路是:
光猫:2024->路由器:2024->设备:80
添加完成后测试telnet modem.your.home 2024
如果不通,查看设备自身防火墙是否允许入站80
从ipv6公网访问设备
电脑连接手机共享热点,避免连接家中网络才可以真实测试到网络联通性。
先测试一下电脑是否具备了ipv6地址,这是后面步骤的先决条件。
-
首先测试光猫能否联通
ping6 modem.your.home
,不行的话参照ipv4步骤中的图片检查光猫设置 -
测试路由器能否联通
ping6 router.your.home
,不行的话进入路由器管理系统,确保防火墙允许ping
-
测试设备能否联通
ping6 device.your.home
,正常情况下应该都没问题。
只要连通性没问题,如果你从公网访问设备上的服务(端口)不通,在排除设备自身防火墙端口入站问题后,还有一种可能是光猫或者路由器防火墙没有允许流量通过。
防火墙在linux上使用ip6tables配置,与iptables不同
ipv6特殊的地方就在于设备直接暴露在公网上,风险很大,所以管理设备都特别针对ipv6加了防火墙流量控制功能(这不是端口入站问题,因为服务并非由管理设备提供)。
我的路由器流量控制界面配置了规则允许到设备80端口流量通过,光猫ipv6防火墙关闭了所以我不用配置
自动配置PAC
PAC代理自动配置通常用于科学上网分流,当你有了国外服务器之后,安装一些代理软件就可以科学上网了。代价是每个设备都需要安装对应的客户端。
如果你希望接入网络就自动科学上网,也不安装任何客户端的话,目前有两个方案:
- TPROXY (透明代理)
- DHCP option 252(WPAD)
这两种方案的相同点都是需要一台额外的设备安装代理软件(或者直接使用路由器安装)
不同点是,透明代理方案终端用户没有选择权,哪些流量走代理由网络管理员说了算,WPAD方案终端用户可以完全自定义分流规则。
很早以前我用的透明代理,现在主流系统都已经支持WPAD,我使用WPAD。我感觉生活更好了。
以下是相关步骤:
- 安装好代理软件,例如我将软件直接安装在路由器上
- 准备好一份pac文件,例如我直接在pastebin(https://pastebin.smitechow.com/~wpad.pac)上编辑了一个,有需要也可以随时调整规则
这个服务私有部署的,用的代码是开源的,https://github.com/SharzyL/pastebin-worker
- 配置路由器dhcp选项,
dhcp-option=252,https://pastebin.smitechow.com/~wpad.pac
- windows和macos打开自动发现pac,android和ios手动指定pac文件地址
我就贴一张macos设置图,其他系统请自行搜索
(完)