我正在构建一个 Linux 服务器,今天遇到了一个问题。我使用的是 ubuntu 作为用户,而不是 ubuntu 服务器。我的服务器使用 2 种连接方式并使用 2 个不同的路由器
*1:使用 4 端口 LAN 卡进行绑定模式,路由器的网关为 192.168.1.1,绑定的 IP 为 192.168.1.147。绑定工作正常,我可以轻松连接到服务器。
*2:使用主板上的普通网络端口,网关为 192.168.5.1,服务器 IP 为 192.168.5.11。此连接用于 SFTP 服务器。
我使用 openssh 创建了一个 sftp 服务器,下面是我使用 filezilla 的测试用例:
通过 LAN ip 192.168.1.147 和路由器的外部 ip 192.168.1.1 连接到服务器:工作
通过 LAN ip 192.168.5.11 连接到服务器:正在工作
通过路由器 191.168.5.1 的外部 IP 连接:不起作用
filezilla 测试不工作的结果:
状态:连接到 123.21.47.2:3389...
响应:fzSftp 已启动,protocol_version=8
命令:打开“[电子邮件保护]“3389
错误:网络错误:连接超时
错误:无法连接到服务器
我已经在路由器上进行了端口重定向,并且该路由器可以与另一台 Windows 服务器很好地配合使用。我觉得 ubuntu 操作系统中的某些东西阻止了通过外部 IP 192.168.5.1 的连接,我关闭了 ubuntu 防火墙,但仍然不起作用。我必须专注于 192.168.5.1,因为这是用于 ftp 或 sftp 的互联网线路,不能使用另一个。
这里有谁知道原因并能帮助我解决这个问题吗?
太感谢了。
答案1
这里的问题是您只能有一个默认网关和你有两个并且enp5s0
首先被定义,因此会接收所有流量并且enp6s0
不会得到任何流量......
这样你就只剩下以下几种可能性了:(
所有的可能性都是互斥的,数字越高,越困难)
- 您可以让两个 IP 中的一个面向互联网(默认),另一个仅面向内部。(静态路由)
- 您需要添加第三个外部互联网路由器(例如具有双 WAN 端口的 Cisco ISR 111x),它将绑定您已有的 2 个外部路由器,并将保存外部连接的状态,并将该路由器设置为两者的默认网关(在不同的 IP 地址上)
- 您可以将两个 NIC 绑定在一起,并让绑定保存状态:你无法控制什么东西会去哪里:债券会替你控制。就像第三个路由器在硬件上所做的那样。
- 你可以把互联网一分为二,然后定义所有互联网地址范围的一半在 #5 上(假设整个美国;静态路由),世界其他国家在 #6 上(默认)。