Linux路由转发+多网卡配置(route命令)

这篇具有很好参考价值的文章主要介绍了Linux路由转发+多网卡配置(route命令)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


route命令

route -n 查看路由,显示ip,不解析
route del default gw 10.1.1.254 删除默认路由
route add default gw 192.168.1.110 添加一个默认网关,把所有不知道的网络交给网关来转发
route add -net 192.168.2.0/24 dev eth0 对一个网络添加一个新的路由(另一个网段)
route del -net 192.168.2.0/24 删除路由

一、路由表

什么是交换?什么是路由?什么是路由表?

  1. 交换是指同网络访问(两台机器连在同一交换机上,配置同网段的不同IP就可以直接通讯)
  2. 路由就是跨网络访问(路径选择)
  3. 路由表是记录路由信息的表,在Linux中首先是一张可见的,可更改的表,它的作用就是当数据包发到Linux的时候,系统(或者说内核)就根据这张表中定义好的信息来决定这个数据包接下来该怎么走

1. 查看路由表信息

命令:route -n
作用:用来查看和设置路由表信息

route add default gw,Linux,linux,网络,服务器

2. 读懂路由信息

route add default gw,Linux,linux,网络,服务器

示例

示例1:

按照上面的路由表来看,如果我ping一个公网IP:14.200.149.30,应该怎么走?

  1. 先看目标ip是否为本地ip,如果是就直接访问本地IP;若果不存在。则去找路由表里是否有需要访问的网段
  2. 如果路由表有这个ip则从这个路由的表中的对应的网卡出去;如果路由表中没有要访问的网段,则会找默认路由,也就是网关
  3. 如果网关也没有的话,则就会报错

示例2:

按照上面的路由表来看,如果ping一个局域网ip:192.168.122.10,又会怎么走?

ping 192.168.122.10不会走网关,而是走本地路由从 eth0网卡出去,因为路由表有192.168.122.0的路由

3. 添加和删除网关

注意:如果要添加一个网关那么,就要添加一个能够到达该网关的目标网络地址(要和网关在同一个网段)

  1. 临时删除网关,马上生效
    命令:route del default gw [ip]
    route add default gw,Linux,linux,网络,服务器

  2. 临时增加网关,马上生效

命令:route add default gw [ip]

没有一条到达该网关的路报错
route add default gw,Linux,linux,网络,服务器
使用命令:route add -net [ip] dev [网卡名] 添加一条到达指定网关的路
删除目标网络命令:route del -net [ip] dev [网卡名]

route add default gw,Linux,linux,网络,服务器

永久增加网关

修改配置文件
路径:/etc/sysconfig/network-scripts/ifcfg-[网卡名]

route add default gw,Linux,linux,网络,服务器
注意事项:

  1. 加网关只能加你已经有的路由网段里的一个IP才行(此IP不一定存在)
  2. 加网关可以不用指定子网掩码(因为是已有的一个网段的ip,所以掩码已经确认了)

4. 多网卡配置(仅主机+NET模式)

route add default gw,Linux,linux,网络,服务器

添加一张NET模式下网卡

route add default gw,Linux,linux,网络,服务器
route add default gw,Linux,linux,网络,服务器
添加一张网卡后

route add default gw,Linux,linux,网络,服务器

创建一个配置文件

添加的新网卡名叫ens36

route add default gw,Linux,linux,网络,服务器
创建一个配置文件

route add default gw,Linux,linux,网络,服务器

修改ifcfg-ens36配置文件

route add default gw,Linux,linux,网络,服务器
保存退出,重启网卡
systemctl restart network

route add default gw,Linux,linux,网络,服务器

双网卡注意事项

一个linux服务器上能有几个有效网关?
准确来说:一个路由表上可以加多个网关,但只有一个生效。

我一台linux上如果有双物理网卡,请问可不可以两个网卡配置同网段的不同IP呢?
eth0 10.1.1.1/24
eth1 10.1.1.2/24

如果两个网卡同网段,则会有下面两条路由
10.1.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
10.1.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eht1

结果:
它会实现从两张网卡进来的包,却从一张网卡出去,问题就产生了。假设eth0网卡有问题时,路由表里匹配到第一条后,依然会走eth0网卡,而不会走eth1。
也有解决方法(比如多路由表或者双网卡绑定),这里不涉及。

二、路由选择

1. 环境准备

三台虚拟机的网络模式都为仅主机模式

  • 主机1 ip:10.1.1.1/24
    主机1作为网关服务器,开启路由转发功能
  • 主机2 ip:192.168.0.254/24
  • 主机3 ip:172.16.0.254/24

route add default gw,Linux,linux,网络,服务器

route add default gw,Linux,linux,网络,服务器

route add default gw,Linux,linux,网络,服务器

要求
实现不同网络(172.16.0.0/24192.168.0.0/24)直间的互通,使用第三方主机1作为路由进行转发

2. 步骤

1)开启路由转发功能

主机1中间人完成一下任务

临时开启路由转发功能
命令:echo 1 > /proc/sys/net/ipv4/ip_forward

route add default gw,Linux,linux,网络,服务器
永久开启
修改配置文件
vim /etc/sysctl.conf
添加 net.ipv4.ip_forward = 1

2)分别添加node2和node3两台主机所在的网络

在主机1中
添加到达主机2的路,命令:route add -net 192.168.0.0/24 dev ens33
添加到达主机3的路,命令:route add -net 172.16.0.0/24 ens33

route add default gw,Linux,linux,网络,服务器

3)分别配置主机2和主机3的ip和网关

把主机2和主机3的网关配置成主机1的ip
注意:在配置网关前,一定要先添加一条能到网关的路,也就是添加一个和网关在同一网段的目标网络IP

在主机2和主机3里都执行添加目标网络和默认网关的命令命令
注意:ens33是网卡名
route add -net 10.1.1.0/24 dev ens33
添加好到网关的路之后,再添加默认网关(也就是主机1的Ip,通过主机1来实现路由转发)
命令:route add default gw 10.1.1.1

route add default gw,Linux,linux,网络,服务器

4)测试

在主机1里分别ping主机2和主机3

route add default gw,Linux,linux,网络,服务器
接着测试主机3和主机2之间互相ping,看看是否联通

route add default gw,Linux,linux,网络,服务器
route add default gw,Linux,linux,网络,服务器
最后实现借助中间主机1路由转发,实现主机2和主机3之间通信文章来源地址https://www.toymoban.com/news/detail-781848.html

到了这里,关于Linux路由转发+多网卡配置(route命令)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux系统中查看路由表的命令(ip route)

    以下命令是在Linux系统中查看路由表的命令: 在Linux系统中,有多种方法可以查看路由设置。以下是一些常用的命令: ip route 或 ip -4 route (IPv4)/ ip -6 route (IPv6) : 这是最常用且功能强大的命令,用于查看和操作路由表。 若要仅查看IPv4或IPv6的路由,可以使用以下命令:

    2024年02月03日
    浏览(47)
  • Linux 网络配置(添加网卡、网卡会话配置、网卡绑定、配置主机名、配置路由)

    目录 配置网卡基本信息 通过nmcli命令配置网卡 通过配置网卡文件配置网卡 通过nmtui命令配置网卡 通过nm-connection-editor命令配置网卡 网卡高级配置 配置网络会话 配置网卡绑定(Bonding) 通过nmcli命令配置网卡绑定 nm-connection-editor 进行网卡绑定(图形化界面) 通过编辑文件的

    2024年02月10日
    浏览(47)
  • Linux网络配置与网络信息查看讲解(网卡基本配置、网卡会话配置、网卡绑定、主机名配置、路由配置)

    目录 配置网卡基本信息 通过nmcli命令配置网卡 通过配置网卡文件配置网卡 通过nmtui命令配置网卡 通过nm-connection-editor命令配置网卡 网卡高级配置 配置网络会话 配置网卡绑定(Bonding) 通过nmcli命令配置网卡绑定 nm-connection-editor 进行网卡绑定(图形化界面) 通过编辑文件的

    2024年02月07日
    浏览(54)
  • route、ip route添加删除路由表命令,路由表永久化设置

    学习linux笔记小实践一 route 与 ip route的使用 route 与 ip route www.baidu.com 14.119.104.189 add ps:gw、via指自己的网关地址 del default 在/etc/sysconfig/network-scripts/route-ens33配置文件中添加语句 或 以下方法: 1)在/etc/rc.local里添加 方法: route add -net 192.168.3.0/24 dev eth0 route add -net 192.168.2.0/2

    2024年02月04日
    浏览(48)
  • ip route 路由命令详解

    (523条消息) ip route 命令详解_thj_blog的博客-CSDN博客_ip route命令详解 Linux如何查看网关地址 - study_goup - 博客园 (cnblogs.com) 添加路由192.20.30.0/24网段走eth0网卡 ip route add 192.20.30.0/24 dev eth0 table local Linux下ip route、ip rule、iptables的关系(转) - EasonJim - 博客园 (cnblogs.com) (608条消息) i

    2023年04月09日
    浏览(69)
  • route命令行查看或者修改默认路由

    route print命令 打开CMD,输入route print,就可以查看我们计算机的路由表,如图 看第一项0.0.0.0的网关为192.168.1.1,说明我们计算机的网关为192.168.1.1,如果我们删除自己的网关,计算机还能正常运行吗?如图 我们来看目前的网络连接状态: 可以看到目前是:无网络访问权限,也

    2024年02月08日
    浏览(51)
  • Linux中路由route和ip route

    如果你要求在使用 macvlan 配置多个 IP 和 MAC 地址时,要求 ARP 响应的 MAC 地址与 IP 地址一一对应,可以考虑使用不同的 macvlan 接口来实现。 首先,创建多个 macvlan 接口,并为每个接口分配对应的 IP 地址和 MAC 地址。例如,创建两个接口 macvlan1 和 macvlan2 : 这里假设你的基础网

    2024年01月15日
    浏览(44)
  • flutter开发实战-常用的路由Route配置

    flutter开发实战-常用的路由Route配置 路由(Route)在移动开发中通常指页面(Page),这跟 Web 开发中单页应用的 Route 概念意义是相同的,Route 在 Android中 通常指一个 Activity,在 iOS 中指一个 ViewController。所谓路由管理,就是管理页面之间如何跳转,通常也可被称为导航管理。

    2024年02月13日
    浏览(49)
  • Linux route命令详解

    1、介绍 route命令用于显示和操作IP路由表,它允许用户查看当前系统的路由信息,添加新的路由、删除已有的路由等。 2、命令 2.1 命令选项 -n, --numeric:不解析主机名,直接显示IP地址。使用这个选项可以加快显示速度,因为不需要进行DNS解析。 add:添加一条新的路由。 de

    2024年02月03日
    浏览(42)
  • Linux ip route命令

    ip route是Linux系统中的一个非常常用的命令,它用于配置和管理Linux的路由表。通过ip route命令,管理员可以查看、添加、删除或修改Linux系统的路由表,从而决定数据包如何在网络中传输。例如,当一台Linux机器需要连接外网或者内网的其他主机时,它需要知道如何到达目的地

    2024年02月22日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包