将LINUX变成路由器

    LINUX系统是一个强大的网络操作系统,本身就是一个出色的路由器,只要经过非常少的几步设置,就会使用LINUX系统本身成为一台出色的路由器。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

  要想使LINUX系统达到这种目的,首先得查看LINUX系统的内核中是否打开了IP转发功能,可以通过下列命令来查看:

  cat /proc/sys/net/ip_forward

如果用此命令返回的结果是0,那么就表明LINUX内核没有启用IP转发功能。就可以通过下示命令来启用:

  echo 1 > /proc/sys/net/ip_forward

但这种方式只能保证当次有效,如果你不小心或应某种需要重启了系统,那么又得重新输入上述这个命令一次。因此,为了保证每次系统都能自动设置,你就可以用VI编辑器打开/etc/sysctl.conf配置文件,在此配置文件中加如下容:

  ipv_ipforward=1

保存退出后,这样,每次重启系统都不用重新设置内核IP转发了。

在打开内核IP转发功能后,我们就该为我们所假设的网络添加路由功能了。

LINUX系统下实现路由功能,两种方法来实现,一种是通过IPTABLES工具的NAT转发功能,一种是使用IPROUTER2工具集中的IP ROUTE命令子集来实现。这两种方法各有优缺点,使用哪种方法,主要看你所在的网络使用哪种方法连接互联网。IPTABLES工具适合动态IP地址以及固定公网IP地址方式,同时,还提供了网络地址转换功能,此功能不仅能使使用私有IP地址的内网PC连接上互联网,而且还提供外网能过DNAT功能访问处于内网中的各种网络服务,以用隐藏内容IP网络段,增加了安全性。IP ROUTE工具同样适应与IPTABELS相同的两种上网方式,但不能提供NAT功能。

  不过,有许多特殊的网络路由功能,是通过这两个工具共同合作的才能实现的,例如,将要讲到的策略路由、负载均衡、多WAN出口路由等。因此,笔者在此分别列出这个工具实现路由功能的命令内容,其后,在介绍如何通过这两个工具合作,完成更加高级的功能。

  1IPTABLES工具的NAT方式开启LINUX路由功能,其通过动态拔号方式连接互联网的命令如下所示:

  iptables –t nat –A POSTROUTING –d 192.168.1.0/24 –s 0/0 –o ppp0 –j MASQUERD

其中,ppp0是你拔号网络接口别名,在此之前,你得先设置好与拔号相关的内容,这可以通过直接编辑/etc/sysconfig/network_scripts/ifcfg_ppp0配置文件来达到目的。

  通过固定公网IP地址方式连接互联的实现方法如下:

  iptables –t nat –A POSTROUTING –s 192.168.1.0/24 -j SNAT –to 202.103.224.58

其中,这个固定公网IP地址是由当地ISP分配给你的,在这也是由笔者自行假设的,具体的IP地址得根据你所在ISP所在地来决定。

2、通过IP ROUTE工具来实现LINUX系统的路由功能

  通过动态拔号上网方式连接互联网的命令如下所示产:

  # ip route add via ppp0 dev eth0

  通过固定公网IP连接互联网的命令如下所示:

  # ip route add via 202.103.224.58 dev eth0

经过以上两种方法中的任何一种的设置,我们的LINUX系统就具有路由功能了。这样,所处在局域网内部的PC都能够通过这台LINUX路由器共享上网了,便前题条件是要设置这些局域网中的PCIP地址为此IP地址段中的任何一个,但不能相同,192.168.1.2-192.168.1.254,同时,设置它们的网关地址全部为192.168.1.1,这是LINUX路由器中连接局域网网卡的IP地址。因为,在这里全部使用固定IP地址,没有使用DHCP服务器,因此,这此IP地址都必需由用户自行指定的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/304747.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用 Benchmark.NET 测试代码性能

今天&#xff0c;我们将研究如何使用Benchmark.Net来测试代码性能。借助基准测试&#xff0c;我们可以创建基准来验证所做的更改是否按预期工作并且不会导致性能下降。并非每个项目都需要进行基准测试&#xff0c;但是如果您正在开发的是NuGet程序包或通用dll&#xff0c;则很有…

python用reshape二维数组化为一维数组_Python reshape的用法及多个二维数组合并为三维数组的实例...

reshape(shape) &#xff1a; 不改变数组元素&#xff0c;返回一个shape形状的数组&#xff0c;原数组不变。是对每行元素进行处理resize(shape) &#xff1a; 与.reshape()功能一致&#xff0c;但修改原数组In [1]: a np.arange(20)#原数组不变In [2]: a.reshape([4,5])Out[2…

【直观理解】一文搞懂RNN(循环神经网络)基础篇

推荐阅读时间8min~15min 主要内容简介&#xff1a;神经网络基础、为什么需要RNN、RNN的具体结构、以及RNN应用和一些结论 1神经网络基础 神经网络可以当做是能够拟合任意函数的黑盒子&#xff0c;只要训练数据足够&#xff0c;给定特定的x&#xff0c;就能得到希望的y&#x…

IIS 7.0 的 ASP.NET 应用程序生命周期概述

本主题介绍在 IIS 7.0 集成模式下运行以及与 .NET Framework 3.0 或更高版本一起运行的 ASP.NET 应用程序的应用程序生命周期。IIS 7.0 还支持经典模式&#xff0c;其行为类似于在 IIS 6.0 中运行的 ASP.NET。有关更多信息&#xff0c;请参见 IIS 5.0 和 6.0 的 ASP.NET 应用程…

python网络运维案例代码库_OLDboy-python第八期运维教程

课程目录&#xff1a;L01-Python8期VIP视频-Day101-开课介绍02-学生介绍03-课程内容介绍04-Python的发展05-Python特性介绍及与其它语言对比06-Python安装及环境准备07-编程风格要求08-Python的数据类型和运算符09-单行和多行注释10-理解ASSIC Unicode UTF-8编码11-使用和导入模…

给新手程序员的16个工作必备小妙招,省下时间去LOL吧!

写在前面&#xff1a; 这个文章核心并不是程序优化的具体技巧&#xff0c;而是拿到一个问题如何思考和利用工具的通用方法。比如即使我们不知道 profiler 这个东西&#xff0c;通过搜索"代码 每一行 时间"也可以很快知道有这样的工具叫做 profiler&#xff0c;并且学…

c#如何识别一张图片的格式

问题窥探在有些时候&#xff0c;我们拿到了一张图片。这张图片的格式是 JPG 还是 PNG&#xff1f;是 BMP 还是只有一帧的 GIF&#xff1f;虽然在大部分情况下&#xff0c;你确实可以把一张 PNG 格式的图片保存成 JPG&#xff0c;在电脑上也能双击打开看。但如果你要写一些程序来…

xftp怎么有root权限_许多人都不懂的Linux系统里的特殊权限!!你真的了解嘛?...

有的朋友一听Linux系统文件还有特殊权限&#xff0c;那头就要爆炸了&#xff0c;那还是接着看看/tmp目录和/usr/bin/passwd文件&#xff0c;怎么回事啊&#xff01;&#xff01;&#xff01;看见没有啊&#xff01;不是应该只有rwx 吗&#xff1f;还有其他的特殊权限( s 跟t )啊…

python中abc属于字符串吗_在Python中,字符串s = 'abc',那么执行表达式s+'d'之后,s的打印结果是( )。...

【单选题】当知道条件为真,想要程序无限执行直到人为停止的话,可以需要下列哪个选项?【单选题】Python3解释器执行 for i,v in enumerate([0,1,2],2):print(i,v)和 for i,v in enumerate([0,1,2]):print(i,v)的结果,你认为对的选项是( )。【单选题】Python3解释器执行AB2C3D.l…

菜单保卫战

前几天和老公去龙之梦&#xff0c;路过米爱粥&#xff0c;只见店员们齐刷刷站成两排&#xff0c;店长在前面训话。 只听店长非常严肃的说&#xff1a;“我们的菜单是很贵的&#xff0c;大家一定要注意。不光是迎宾的事情&#xff0c;也是你们每个人的事情。要经常注意一下&…

我是怎样爬下6万共享单车数据并进行分析的(附代码)

共享经济的浪潮席卷着各行各业&#xff0c;而出行行业是这股大潮中的主要分支。如今&#xff0c;在城市中随处可见共享单车的身影&#xff0c;给人们的生活出行带来了便利。相信大家总会遇到这样的窘境&#xff0c;在APP中能看到很多单车&#xff0c;但走到那里的时候&#xff…

使用 Tye 辅助开发 k8s 应用竟如此简单(三)

使用 Tye 辅助开发 k8s 应用竟如此简单&#xff08;一&#xff09;使用 Tye 辅助开发 k8s 应用竟如此简单&#xff08;二&#xff09;续上篇&#xff0c;这篇我们来进一步探索 Tye 更多的使用方法。本篇我们来了解一下如何在 Tye 中如何对数据库进行链接。Newbe.Claptrap 是一个…

mybatis collection标签_一对多的关系,在MyBatis中如何映射?

# 使用collection标签需求&#xff1a;根据用户id查询用户信息的同时获取用户拥有的角色&#xff0c;一个用户可以拥有1个或多个角色。一般情况下&#xff0c;不建议直接修改数据库表对应的实体类。所以这里我们延用之前博客中新建的类SysUserExtend&#xff0c;并添加如下代码…

上传文件白名单_十大常见web漏洞——文件上传漏洞

漏洞介绍在我们浏览网页时&#xff0c;文件上传是非常常见的&#xff0c;比如我们会上传头像、附件、视频等文件&#xff0c;文件上传漏洞通常由于网页代码中的文件上传路径变量过滤不严造成的&#xff0c;如果文件上传功能实现代码没有严格限制用户上传的文件后缀以及文件类型…

Java编程比C编程好吗?《精通Unix下C语言与项目实践》读书笔记(15)

《精通Unix下C语言编程与项目实践》读书笔记(new)文章试读 不拘一个遍程序系列&#xff1a;编程序不能一个脑袋钻到底&#xff0c;有时要学会变通&#xff0c;即所谓的曲线救国。一、二、三、四职场规划&#xff1a;一些杂七杂八的职场感悟吧。不值钱的软件人才 精力充沛与事业…

C# Lambda表达式详解,及Lambda表达式树的创建

每次写博客&#xff0c;第一句话都是这样的&#xff1a;程序员很苦逼&#xff0c;除了会写程序&#xff0c;还得会写博客&#xff01;当然&#xff0c;希望将来的一天&#xff0c;某位老板看到此博客&#xff0c;给你的程序员职工加点薪资吧&#xff01;因为程序员的世界除了苦…

将span隐藏的函数_分类汇总函数Subtotal和Aggregate应用技巧解读

在实际的数据统计分析中&#xff0c;经常会遇到很多复杂的因素&#xff0c;例如&#xff0c;对隐藏的行或计算结果返回错误类型的值不予统计等等……如果此时还用常规的Sum系列、Count系列、Average系列等函数去做数据统计分析&#xff0c;将会是难上加难或者根本无法完成。此时…

粉丝回馈 | 用30天换来了这辈子独一无二的纪念

不知不觉2017年已经临近尾声了&#xff0c;超模君和小木决定趁年末&#xff0c;要给粉丝们一份用心的回馈&#xff0c;感谢这一年来大家对我们的支持与厚爱~ 经过几天几夜的苦思冥想、辗转反侧。。。超模君和小木最终确定了一份超模定制版纪念品&#xff0c;定制版&#xff01;…

地图统计_连吃七八个都不够!太仓不完整包子统计地图来了!

在上班的路上总会顺道买上几个包子&#xff0c;不止是因为方便美味&#xff0c;圆鼓鼓的外型就像个太阳一样能带来满满的能量。这次叔打卡了8家高人气包子店&#xff0c;不知道有没有你经常光顾的那家呢&#xff1f;留言区还抽3位吃货送现金红包哦&#xff01;长春路包子铺?地…