如何配置路由表以在网络接口之间传递流量

如何配置路由表以在网络接口之间传递流量

几个星期以来,我一直在尝试让我的 Ubuntu 16.04 服务器在其两个网络接口之间路由流量。我知道这个问题之前在论坛上已经被问过一百次了,但我读过的所有东西都对我没用。

所以我在/etc/network/interfaces

# The loopback network interface
auto lo enp2s0
iface lo inet loopback

# The external interface (router)
iface enp2s0 inet static
    address 192.168.0.20
    netmask 255.255.255.0
    network 192.168.0.0
    broadcast 192.168.0.255
    gateway 192.168.0.1 

# This internal interface
auto enp3s0
iface enp3s0 inet static
    address 192.168.1.254
    netmask 255.255.255.0
    network 192.168.1.0
#   gateway 192.168.1.254

我已经设定net.ipv4.ip_forward = 1

我已将 UFW 设置为在接口之间传递流量

Status: active

To                         Action      From
--                         ------      ----
22                         ALLOW       Anywhere                  
22/tcp                     ALLOW       Anywhere                  
22/udp                     ALLOW       Anywhere                  
10000                      ALLOW       Anywhere                  
22 (v6)                    ALLOW       Anywhere (v6)             
22/tcp (v6)                ALLOW       Anywhere (v6)             
22/udp (v6)                ALLOW       Anywhere (v6)             
10000 (v6)                 ALLOW       Anywhere (v6)             

Anywhere on enp3s0         ALLOW FWD   Anywhere on enp2s0        
Anywhere on enp2s0         ALLOW FWD   Anywhere on enp3s0        
Anywhere (v6) on enp3s0    ALLOW FWD   Anywhere (v6) on enp2s0   
Anywhere (v6) on enp2s0    ALLOW FWD   Anywhere (v6) on enp3s0   

我已经更改了路由表以在接口之间路由流量,但现在成功了。

有路由表。

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.0.1     0.0.0.0         UG    0      0        0 enp2s0
192.168.0.0     *               255.255.255.0   U     0      0        0 enp2s0
192.168.1.0     192.168.0.20    255.255.255.0   UG    0      0        0 enp2s0
192.168.1.0     *               255.255.255.0   U     0      0        0 enp3s0

当我在两个接口之间 ping 时,我收到以下回复

:~$ ping -I enp3s0 192.168.0.20
PING 192.168.0.20 (192.168.0.20) from 192.168.1.254 enp3s0: 56(84) bytes of data.
From 192.168.1.254 icmp_seq=1 Destination Host Unreachable
From 192.168.1.254 icmp_seq=2 Destination Host Unreachable
From 192.168.1.254 icmp_seq=3 Destination Host Unreachable

:~$ ping -I enp2s0 192.168.1.254
PING 192.168.1.254 (192.168.1.254) from 192.168.0.20 enp2s0: 56(84) bytes of data.
From 192.168.0.20 icmp_seq=1 Destination Host Unreachable
From 192.168.0.20 icmp_seq=2 Destination Host Unreachable
From 192.168.0.20 icmp_seq=3 Destination Host Unreachable

请有人帮助我解决这个问题。

答案1

一切看起来都很好。192.168。0.20 在您的 enp2s0 接口上,并且 192.168.1.254 在你的 enp3s0 接口上。但你告诉你的电脑去出去enp3s0 达到 192.168.0.20 它尝试了但失败了,因为它无法从 enp3s0 到达 192.168.0.x。

您需要尝试从 LAN 上的另一台机器进行 ping 操作。例如,在您的内部 192.168.100 上配置一个盒子。1.0 网络要通过网关 192.168.1.254 并尝试 ping 192.168。0.20

更新:哦,这条路线没有意义,删除它:

192.168.1.0     192.168.0.20    255.255.255.0   UG    0      0        0 enp2s0

相关内容