AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 885006
Accepted
Tony Stark
Tony Stark
Asked: 2017-11-25 03:49:33 +0800 CST2017-11-25 03:49:33 +0800 CST 2017-11-25 03:49:33 +0800 CST

如何为同一子网中的第二个网络接口设置路由?

  • 772

我在 AWS 上有两个 EC2 实例。我将第二个网络接口附加到其中一个 EC2 实例,并将 Redhat 配置为使用新接口和 IP。

问题是我无法通过第二个 NIC ping EC2 实例。

我正在阅读必须为此防止非对称路由,但我没有正确地做到这一点。我的步骤如下。

1) 设置新网卡,因为它不会自动获取新的 IPv4。

cd /etc/sysconfig/network-scripts/
cat ifcfg-eth0 > ifcfg-eth1

eth1 配置如下所示。

BOOTPROTO=dhcp
DEVICE=eth1
HWADDR=02:d9:f6:0e:09:00
ONBOOT=yes
TYPE=Ethernet
USERCTL=no
IPADDR=192.168.125.232

ifdown eth1
ifup eth1

ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 9001
        inet 192.168.125.247  netmask 255.255.255.224  broadcast 192.168.125.255
        inet6 fe80::3d:5cff:fef4:f5a8  prefixlen 64  scopeid 0x20<link>
        ether 02:3d:5c:f4:f5:a8  txqueuelen 1000  (Ethernet)


eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 9001
        inet 192.168.125.232  netmask 255.255.255.224  broadcast 192.168.125.255
        inet6 fe80::d9:f6ff:fe0e:900  prefixlen 64  scopeid 0x20<link>
        ether 02:d9:f6:0e:09:00  txqueuelen 1000  (Ethernet)

[...]

route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.125.225 0.0.0.0         UG    100    0        0 eth0
0.0.0.0         192.168.125.225 0.0.0.0         UG    101    0        0 eth1
192.168.125.0   0.0.0.0         255.255.255.0   U     100    0        0 eth1
192.168.125.224 0.0.0.0         255.255.255.224 U     100    0        0 eth0
192.168.125.224 0.0.0.0         255.255.255.224 U     101    0        0 eth1

2)尝试像这样设置非对称路由。

ip route add default via 192.168.125.225 dev eth0 tab 1
ip route add default via 192.168.125.225 dev eth1 tab 2

ip rule add from 192.168.125.247/24 tab 1 

一旦我运行上述命令,我就会与实例断开连接,并且无法通过 SSH 重新连接。在此之后,我只是重新创建实例。

我从来没有设法运行我认为需要的最后一个命令。

ip rule add from 192.168.125.232/24 tab 2

我错过了什么?如何为我的设置正确设置路由?

编辑#1:使用新 IP 地址的新尝试将不起作用。

ip route add 192.168.125.224/27 dev eth0 table t1
ip route add 192.168.125.224/27 dev eth1 table t2
ip route add default via 192.168.125.225 dev eth0 table t1
ip route add default via 192.168.125.225 dev eth1 table t2

ip rule add from 192.168.125.243/27 table t1 priority 100
ip rule add from 192.168.125.232/27 table t2 priority 200
ip route flush cache

禁用源/目标检查的解决方法有效,但并不是我真正想要的。

编辑#2:经过更多的谷歌搜索并将头发从我的头上拉出来。另一个尝试(不工作:/)。

ip route add default via 192.168.125.225 dev eth0 table t1
ip route add default via 192.168.125.225 dev eth1 table t2

ip rule add from 192.168.125.243/32 table t1 priority 100
ip rule add from 192.168.125.232/32 table t2 priority 200
ip route flush cache
networking
  • 1 1 个回答
  • 2048 Views

1 个回答

  • Voted
  1. Best Answer
    Tony Stark
    2017-11-28T05:54:25+08:002017-11-28T05:54:25+08:00

    答案是为两个接口配置路由和规则。

    echo 100 t1 >> /etc/iproute2/rt_tables
    echo 101 t2 >> /etc/iproute2/rt_tables
    
    ip route add default via 192.168.125.225 dev eth0 table t1
    ip rule add from 192.168.125.243/32 table t1 priority 100
    
    ip rule add from 192.168.125.232/32 table t2 priority 200
    ip route add default via 192.168.125.225 dev eth1 table t2
    

    可以添加 ip 命令以/etc/rc.d/rc.local进行持久设置。

    • 0

相关问题

  • 谁能指出我的 802.11n 范围扩展器?

  • 我怎样才能得到一个网站的IP地址?

  • 在一个 LAN 中使用两台 DHCP 服务器

  • 如何在 Linux 下监控每个进程的网络 I/O 使用情况?

  • 为本地网络中的名称解析添加自定义 dns 条目

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve