我的NAS是黑裙,两个网口,一个板载千兆,一个USB2.5G网口。 两个网口都有完全独立的网络环境,比如网口1接的路由器1获取到路由器1的内网IPV4地址和公网的IPV6地址假设是电信的网络,网口2接的是路由器2获取到路由器2的内网IPV4地址和公网的IPV6地址假设是移动的网络。路由器1和路由器2都做了对应的端口映射,从公网访问到NAS没有问题。 我的问题是 由于是两条线路 两个网口,在黑裙的控制面板中的网络设置中必须设置其中一条线路的网关为默认网关(IPV4)。 设置之后,设置为默认网关那条线路就能通过公网访问到NAS,没设置成网关那条线路(IPV4)就访问不进来(通过IPV6能访问)。把另一条线路设为默认网关后,这条就能通过外网访问进来,另一条线路就不行了。 我也问了ChatGPT好像没有什么更好的解决方法 再次说明一点 我设置线路1为默认网关后,我是可以通过线路1的公网IPV4访问到NAS的,此时使用线路2的公网IPV4是访问不到NAS的;但是设置为线路2为默认网关后,我是可以通过线路2的公网IPV4访问到NAS的,此时使用线路1的公网IPV4是访问不到NAS。 所以不要说我路由器没有设置好端口映射。 还有一点 两条线路的IPV6地址 公网都能同时访问
Linux 多网关配置 Linux 多网关应用场景,比如,机房服务器有 3 块网卡,eth0 为内网IP,eth1 为电信公网IP,eth2 为联通公网IP,一般情况下服务器只能配置一个默认网关,外网客户端只能通过其中一个公网IP访问服务器,通过配置 Linux 原路返回路由功能,来实现客户端从哪个网卡进来就从哪个网卡出去。也就是电信用户访问服务器的电信公网 IP 然后从电信网卡原路返回,联通用户访问联通公网 IP 然后从联通网卡返回,服务器本身就可以通过默认的内网网关访问外网。 配置 Linux 多网关 eth0 内网网卡,IP 地址 192.168.1.100, 网关 192.168.1.1 eth1 电信网卡,IP 地址 114.216.29.65,网关 114.216.29.1 eth2 联通网卡,IP 地址 60.30.128.15,网关 60.30.128.1 配置内网 IP 地址和默认网关 $ ip link set eth0 up $ ip addr add 192.168.1.100/24 dev eth0 $ ip route add default via 192.168.1.1 配置电信和联通网卡 IP 地址 $ ip link set eth1 up $ ip addr add 114.216.29.65/24 dev eth1 $ ip link set eth2 up $ ip addr add 60.30.128.15/24 dev eth2 添加电信和联通两个路由表 $ emacs /etc/iproute2/rt_tables 251 tel 252 cnc 编辑 /etc/iproute2/rt_tables 配置文件,添加两个编号 251 和 252 的路由表条目,tel 为电信 cnc 为联通 配置电信和联通的原路路由 $ ip route flush table tel $ ip route add default via 114.216.29.1 dev eth1 src 114.216.29.65 table tel $ ip rule add from 114.216.29.65 table tel $ ip route flush table cnc $ ip route add default via 60.30.128.1 dev eth1 src 60.30.128.15 table cnc $ ip rule add from 60.30.128.15 table cnc 以上就基本配置好了电信和联通的多线原路返回路由