Linux ip_forward 数据包转发

Linux ip_forward 数据包转发,第1张

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

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

要配置Linux内核中的 net.ipv4.ip_forward 参数有多种配置方式可供选择,下面分别介绍。

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

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

有关 sysctl 指令的更详细介绍,请参见Linux的系统man手册( man sysctl ),或其他有关sysctl指令详细介绍的文章。

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

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

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

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

有关 sysctl 指令和sysctl.conf配置文件的更详细介绍,请参见Linux的系统man手册( man sysctl 和 man sysctl.conf ),或其他有关sysctl指令和sysctl.conf配置文件的文章。

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

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

姓名:黄婷    学号:19020100410  学院:电子工程学院

转自: https://blog.csdn.net/daqiang012/article/details/103947313?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522162848234916780357255732%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=162848234916780357255732&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_click~default-2-103947313.first_rank_v2_pc_rank_v29&utm_term=Linux%E7%B3%BB%E7%BB%9F&spm=1018.2226.3001.4449#t7

【嵌牛导读】Linux系统内核的路由转发

【嵌牛鼻子】Linux系统   内核的路由转发

【嵌牛提问】什么是Linux系统内核的路由转发?

【嵌牛正文】

Linux *** 作系统嵌入了 TCP /IP协议栈,协议软件具有路由转发功能。路由转发依赖作为路由器的主机中安装多块 网卡 ,当某一块网卡接收到数据包后,系统内核会根据数据包的目的IP地址,查询 路由表 ,然后根据查询结果将数据包发送到另外一块网卡,最后通过此网卡把数据包发送出去。此主机的处理过程就是路由器完成的核心功能。 [3]

通过修改Linux系统内核参数ip_forward的方式实现路由功能,系统使用sysctl命令配置与显示在/proc/sys目录中的内核参数。首先在命令行输入:cat/proc/sys/net/ipv4/ip_forwad,检查Linux内核是不是开启IP转发功能。如果结果为1,表明路由转发功能已经开启;如果结果为0,表明没有开启。出于安全考虑,Linux内核默认是禁止数据包路由转发的。在linux系统中,有临时和永久两种方法启用转发功能。 [3] 

临时启用:此种方法只对当前会话起作用,系统重启后不再启用。临时开启的命令格式:sysctl–wnet.ipv4.ip_forward=1。 [3] 

永久启用:此种永久性的启用IP转发功能,通过更改配置文件/etc/sysctl.conf中的语句行“net.ipv4.ip_forward=0”,修改为“net.ipv4.ip_forward=1”,保存配置文件后执行命令sysctl–p/etc/sysctl.conf,配置便立即启用。

需求:以其中一台linux主机作为服务器,对其他主机提供路由转发功能,实现网络共享。

实现:由于本次学习是在虚拟机中实现,共有两台linux主机,其中作为服务器的linux主机先称作vm1,要共享网络的linux主机称作vm2,vm2为在vm1中建立的虚拟机

环境:redhalt 6.5

 

vm2配置:

    由于是模拟网络共享的客户机,在vm设置里将网络模式改为host-only(仅主机模式),并记录下vm2的网段。实际需求中只需配置服务器vm1即可

        1.

        2.点击确定保存后,可以看到此时的vm2已无法访问网络。

        3.在虚拟机菜单栏点击 编辑>>>虚拟网络编辑器,可在此查看或编辑你的vm2网段信息。

   

vm1配置(服务器):

    1.修改/etc/sysctl.conf文件,将配置文件中net.ipv4.ip_forward = 0值改为= 1,开启数据包的转发

        [root@localhost ~]# sysctl -p                                 -----使配置文件生效

        也可直接输入命令:echo 1 >/proc/sys/net/ipv4/ip_forward                               重启会失效

    2.启动防火墙:/etc/init.d/iptables start

    3.依次输入下列两条命令:

        [root@localhost ~]# iptables -S                                         查看红帽防火墙默认的规则链

        [root@localhost ~]# iptables -D FORWARD 1                    删除FORWARD里序号为1的规则

    4.开启地址转换:

        [root@localhost ~]# iptables -t nat -I POSTROUTING -s 192.168.148.0/24 -j MASQUERADE                ----其中的ip段为vm2配置第三步中的ip段,可自定义

    5.至此已搭建完成,只需将vm2设置为该ip段下任一ip即可成功实现访问网络。也可直接通过另外一台设备连接vm1,将ip设置到该网段下即可,vm1并不能自动分配

        [root@oracledb ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0

                IPADDR=

                NETMASK=

                GATEWAY=

 

 

概念补充:

路由表,指的是路由器或者其他互联网网络设备上存储的表,该表中存有到达特定网络终端的路径,在某些情况下,还有一些与这些路径相关的度量。

查看服务器到目标网址经过的ip:traceroute www.baidu.com

查看自己主机上的路由表:route -n

分类:

静态路由表:由系统管理员事先设置好固定的路由表称之为静态(static)路由表,一般是在系统安装时就根据网络的配置情况预先设定的,它不会随未来网络结构的改变而改变。

动态路由表:动态(Dynamic)路由表是路由器根据网络系统的运行情况而自动调整的路由表。路由器根据路由选择协议(Routing Protocol)提供的功能,自动学习和记忆网络运行情况,在需要时自动计算数据传输的最佳路径。路由器通常依靠所建立及维护的路由表来决定如何转发。

在局域网中,主机可以通过广播的方式来进行网络数据包的发送,但是在不同的网段类的主机想要互相连接时就必须通过路由器来实现。

路由器具有判断网络地址和选择IP路径的功能,它能在多网络互联环境中,建立灵活的连接,可用完全不同的数据分组和介质访问方法连接各种子网,路由器只接受源站或其他路由器的信息,属网络层的一种互联设备。

转载于:https://my.oschina.net/shaoyu/blog/854330

来源:https://my.oschina.net/shaoyu/blog/854330

原作者删帖   不实内容删帖   广告或垃圾文章投诉

智能推荐

apache开启请求转发

实现访问goto.test,返回内容为purchase.plate.test 修改httpd.conf配置,将下面的两个模块开启 image.png 修改vhost.conf配置,添加转发 image.png 转发的网址后面一定要加反斜杠,否则静态文件不转发。...

转发与路由选择

转发:分组在单一的路由器的一条输入链路中,由路由器将该分组移动到合适的输出链路 路由选择:一个网络中,分组从发送方到接收方时,所采用的路径 举个栗子:如果要从北京到成都 路由选择是:北京->武汉->四川->成都 转发是:你在北京,你要用火车去武汉,而不是上海。...

路由转发功能

一、iptables工具移植 1、交叉编译iptables-1.4.12  ./configure  --prefix=/home/huabiao/bin  --exec-prefix=/home/huabiao/bin  --host=arm  --with- kernel=/home/huabiao/share/HI3520D/linux-3....

路由转发原理

自我总结,以强记忆。 实验图(未配置前) 图1未对PC和路由器端口(默认down)配置IP和下一跳,故无法通信。 先说说配置下一跳的不同方式的区别: 1.下一跳为本路由器的出口接口; 当配置静态路由时使用出口接口做为下一跳时,路由器会认为目标网络和接口处在“直连网络”中,而在直连网络中不同设备间的通信是通过ARP协议广播来获取到要到达的目标主机的MAC地址。故当pc7与pc...

路由转发流程

IP 地址和路由转发 此文档为回忆文档,不会详细解释原理 文章目录 IP 地址和路由转发 一、IP 地址 1.1 作用 1.2 分类 1.3 子网掩码 二、IP地址识别(路由转发) 2.1 路由器转发规则 2.2 最长匹配原则 2.3 路由迭代规则 2.3 缺省路由匹配 一、IP 地址 1.1 作用 IP 地址是用于识别计算机网络位置的地址;(IP 协议处于网络层) MAC 地址是计算机物理地址,...

猜你喜欢

DLINK 企业路由器内网部署web开启端口转发后还需要开启是否支持端口回流功能...

跑后台使用的服务器,配置一般都很低,带宽只有2Mb 一些大型文件比如app的更新包使用这种服务器不可行 但是公司的网络是100Mb对等静态ip专线 所以能利用起来,每年将会省下8万块     说干就干,这个步骤应该不难 我自己用ac88u在家也有搭建web,开启端口转发就可以了 但是这个di-7100死活就是不行, 无奈之下,打客服吧 告知ip端口和用户名密码之后那边设置了一下...

Linux运维之LVS使用NAT(路由转发)模式实现负载均衡

一、lvs-nat模式原理 LVS的转发主要通过修改IP地址 (NAT模式,分为源地址修改SNAT和目标地址修改DNAT)、修改目标MAC(DR模式)来实现。 NAT模式: 网络地址转换 NAT(Network Address Translation)是一种外网和内网地址映射的技术。NAT模式下,网络数据报的进出都要经过LVS的处理。LVS需要作为RS(真实服务器)的网关。当包到达LVS时,LVS...

论坛报名 | 智能信息检索与挖掘的最新进展和挑战

与6位图灵奖得主和100多位专家 共同探讨人工智能的下一个十年 长按图片或点击阅读原文,内行盛会,首次免费注册 2020年6月21-24日,第二届北京智源大会(官网:https://2020.baai.ac.cn)将邀请包括6位图灵奖获得者在内的上百位人工智能领袖,一起回顾过去,展望未来,深入系统探讨“人工智能的下一个十年”。本次大会将开设19个专题论坛,主题涵盖人工智能数...

2021年Java开发者常见面试题,学习路线+知识点梳理

基础 JAVA基础 JAVA集合 JAVA多线程并发 网络 数据结构与算法 框架 Spring SpringMVC MyBatis 设计模式 分布式 负载均衡 Zookeeper Redis MQ/kafka 微服务 Netty与RPC Spring Boot Spring Cloud Dubbo 调优 MySQL JVM Tomcat 最后 即使是面试跳槽,那也是一个学习的过程。只有全面的复习,...

zabbix api 使用,如何看官方文档。

zabbix 提供的丰富的API接口,几乎可以完成所有在zabbix web界面上的 *** 作,实现一个需求我们可以选用不同的API接口,提供多种解决方案。 官方文档说明 官方文档:https://www.zabbix.com/documentation/4.0/zh/manual/api 点击链接会进入到下面的界面,介绍了API的使用以及提供的一些方法和一些示例。 在侧边栏我们可以看到不同的API接口...

相关问题

开启字节

如何使用Python将端口转发到路由器

在过滤查询后,Azure路由未转发到端点

Mikrotik路由器端口转发 - 无法从Web访问

C#开启枚举

路由器端口转发和HttpContext.Current.Request.URL

Zend_Router,在参数提供时,向indexController /转发路由

使用路由或mod_rewrite是否要转发旧URL?

Winsock客户端端口和路由器端口转发

使用UPnP以编程方式添加端口转发条目进入路由器?

相关文章

windows开启路由转发

Linux 路由转发实验

linux做路由并实现路由转发

Windows 10上开启路由转发及添加路由

Windows 10上开启路由转发及添加路由

Iptables-linux服务器做路由转发

虚拟机中linux系统实现路由转发功能

linux 路由转发及udhcpd的配置上网

linux配置静态路由实现路由转发和quagga实现动态路由实验

OpenWrt路由开启DDNS+端口转发进行外网访问

热门文章

美国W+NMN科普:NMN对肝脏的作用:NMN对肝脏的作用如何?

python 持续集成 教程_dotnet 部署 github 的 Action 进行持续集成|简明python教程|python入门|python教程...

java运行 mavenzip包_java application maven项目打自定义zip包实例(必看)

laravel 8学习记录(1)—— 配置phpstorm开发环境

A Critical Review of Recurrent Neural Networks for Sequence Learning

ngnix支持thinkphp3.2路由重写模式的配置,即URL_MODEL=>2的情况

Rabbit MQ 无法访问到 web 页面

Linux基础_使用基础技巧

C# Owin初探 概念理解

osi七层模型tcp四层模型

推荐文章

【行研资料】2021中国互联网医疗内容行业研究报告——附下载链接

软件测试和评估

SPI Base Knowledge

Idea 添加JDK自带的反编译工具javap

抽象类与接口的区别

JavaScript笔记(5.27)

周志华 机器学习 Day17

声纹识别的三生三世

快速构建Windows 8风格应用34-构建Toast通知

java格子布局怎么设置高度_自动布局:获取UIImageView高度以正确计算单元格高度...

相关标签

环境配置

windows开启路由转发

路由转发

windows

计算机网络

Windows

linux路由

ubuntu

虚拟机

linux

Copyright © 2018-2023 - All Rights Reserved - www.pianshen.com

网站内容人工审核和清理中!本站和cxyzjd等抄袭本站模板的网站没有任何关系,请注意分辨!

本站在春节期间即将改版,对人工核实过的涉及csdn版权文章做删除处理,

仅保留摘要,大家可以点击摘要后面的“查看原文”跳转到csdn查看。改版后的网站不再发布任何和csdn有关的文章,谢谢理解。

由于数据、程序改动较大,加之时间匆忙,本次改版会持续数日,可能会间歇性影响用户访问。

同时由于csdn自身存在大量版权争议文章,例如机器人账号、转载和不实标注原创问题,本次数据改动均采取人工核实,难免有遗漏和偏差,请来信指正。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/6072608.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-13
下一篇 2023-03-13

发表评论

登录后才能评论

评论列表(0条)

保存