宽带路由器以及Linux DHCP/网关配置

市面上插 4G 卡的无线路由器, 其实只支持无线终端接入的冗余。也就是说,无线终端连接该路由器的 SID,自动从该路由器得到 DHCP 地址和网关,然后路由器上会把网络请求转发上里面配置的 LAN 口的网关。 当 LAN 口的网络不通的时候,路由器就会自动切换到 4G 网卡。

所以这种 4G 宽带路由器不能把路由器后面的有线网络通过 4G 卡上网。上面配置的 LAN 口,其实从无线侧是不能访问到。配置的 LAN 口地址,无论是动态获取,还是静态,也都是无法从有线侧访问到这个 LAN 口地址的。

同时, 在高级设置的路由界面下,设置的 DHCP 都是针对 Wi-Fi 连接的,这个 DHCP 不对有线网络开启。

上海电信的 中兴 F450A 光猫,默认登录的用户名是 useradmin, 其实有一个所谓的超级用户账号: telecomadmin,这个账号的密码,其实是可以向电信的安装人员电话索要的。 基本原理是把光猫设置为维护模式,安装人员可以查看到这个所谓超级用户的密码。而不必像论坛里讨论的, 要自己买一个 USB转接口 ,打开光猫,插入到光猫的 debug 口,连接 COM 口,通过读取 mdm config ,可以得到这个密码。

其实这个作为桥接切换(就是光猫纯粹是一个物理线路的链接器,拨号需要使用另外的软件或者设备)可能有用。 做这件事情的目的其实是为了绕过 n 个终端的限制。本来想在 光猫后面再接一个路由器的, 但是考虑到 DHCP 不能在 VM 上跑, 反正要跑在一台 Host 上,所以,把 Host 加了一个转发功能。

本来在KVM 桥接的 DNS 虚拟机里面安装了 udhcpd 这个服务,但是 DHCP 广播包不能通过虚拟机桥接发出来,只好把 dhcp 配置到了 KVM 主机上。 安装和配置其实是惊人的简单:

在 Ubuntu 1904 上 apt install dhcpd , 就会自动选择 udhcpd 这个服务,其实是 busybox 的变种。 编辑 /etc/default/udhcpd 把 DHCPD_ENABLED 设置为 yes,然后根据自己的需要修改: /etc/udhcpd.conf,例如我有两台跑 dnscrypt 的虚拟机 7.11/7.12,然后本机7.230 作为网关

通过以上配置,如果是 Windows 系统 DHCP 客户端就可以看到如下配置:

把 Linux Host 作为转发的网关配置十分简单:
设置 /etc/sysctl.conf
net.ipv4.ip_forward=1
net.ipv6.conf.all.forwarding=1
然后运行 sysctl -p /etc/sysctl.conf 即可
当然作为网关的 Linux Host 上的默认网关我们需要设置为光猫的 IP 地址。

这样,我们或许可以避免电信运营商对终端个数的限制。
当然光猫上,我们启用了防火墙, 然后无线网络和 DHCP ,我们都没有启动。