【博客607】linux路由过程分析与net.ipv4.ip_forward参数

148 篇文章 17 订阅
130 篇文章 11 订阅
文章介绍了Linux系统的路由表信息,包括本地路由和默认路由,并详细阐述了net.ipv4.ip_forward参数的作用,即控制Linux是否允许数据包转发。开启转发功能的方法包括临时和永久生效的配置,如使用sysctl命令或修改sysctl.conf文件。永久配置需要在系统重启后仍保持生效状态。
摘要由CSDN通过智能技术生成

linux路由过程分析与net.ipv4.ip_forward参数

1、linux路由分析

在这里插入图片描述在这里插入图片描述

[root@compute1 ~]# ip route show table local
broadcast 127.0.0.0 dev lo  proto kernel  scope link  src 127.0.0.1
local 127.0.0.0/8 dev lo  proto kernel  scope host  src 127.0.0.1
local 127.0.0.1 dev lo  proto kernel  scope host  src 127.0.0.1
broadcast 127.255.255.255 dev lo  proto kernel  scope link  src 127.0.0.1
broadcast 172.16.88.0 dev eno33554976  proto kernel  scope link  src 172.16.88.130
local 172.16.88.130 dev eno33554976  proto kernel  scope host  src 172.16.88.130
broadcast 172.16.88.255 dev eno33554976  proto kernel  scope link  src 172.16.88.130
broadcast 172.16.96.0 dev eno16777736  proto kernel  scope link  src 172.16.96.131
local 172.16.96.131 dev eno16777736  proto kernel  scope host  src 172.16.96.131
broadcast 172.16.96.255 dev eno16777736  proto kernel  scope link  src 172.16.96.131

在这里插入图片描述

[root@compute1 ~]# ip route show
default via 172.16.88.2 dev eno33554976
169.254.0.0/16 dev eno16777736  scope link  metric 1002
169.254.0.0/16 dev eno33554976  scope link  metric 1003
172.16.88.0/24 dev eno33554976  proto kernel  scope link  src 172.16.88.130
172.16.96.0/24 dev eno16777736  proto kernel  scope link  src 172.16.96.131

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

2、net.ipv4.ip_forward参数功能

出于安全考虑,Linux系统默认是禁止数据包转发的。所谓转发即当主机拥有多于一块的网卡时,其中一块收到数据包,根据数据包的目的ip地址将数据包发往本机另一块网卡,该网卡根据路由表继续发送数据包。这通常是路由器所要实现的功能。

要让Linux系统具有路由转发功能,需要配置一个Linux的内核参数net.ipv4.ip_forward。这个参数指定了Linux系统当前对路由转发功能的支持情况;其值为0时表示禁止进行IP转发;如果是1,则说明IP转发功能已经打开。

3、net.ipv4.ip_forward的多种配置方式:

3-1、临时生效的配置方式:在系统重启,或对系统的网络服务进行重启后都会失效。这种方式可用于临时测试、或做实验时使用。

  • 1、使用 sysctl 指令配置

sysctl 命令的 -w 参数可以实时修改Linux的内核参数,并生效。所以使用如下命令可以开启Linux的路由转发功能。

sysctl -w net.ipv4.ip_forward=1

  • 2、修改内核参数的映射文件:/proc/sys/net/ipv4/ip_forward

内核参数在Linux文件系统中的映射出的文件:/proc/sys/net/ipv4/ip_forward中记录了Linux系统当前对路由转发功能的支持情况。文件中的值为0,说明禁止进行IP转发;如果是1,则说明IP转发功能已经打开。

3-2、永久生效的配置方式:在系统重启、或对系统的网络服务进行重启后还会一直保持生效状态。这种方式可用于生产环境的部署搭建。

  • 1、修改/etc/sysctl.conf 配置文件

在sysctl.conf配置文件中有一项名为net.ipv4.ip_forward的配置项,用于配置Linux内核中的net.ipv4.ip_forward参数。其值为0,说明禁止进行IP转发;如果是1,则说明IP转发功能已经打开。

需要注意的是,修改sysctl.conf文件后需要执行指令sysctl -p后新的配置才会生效。

  • 2、修改/etc/sysconfig/network配置文件

在文件最后添加一行:FORWARD_IPV4=YES

需要注意的是,修改/etc/sysconfig/network配置文件后需要重启网络服务(service netwrok restart)才能使新的配置生效。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值