热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

用linux系统做软路由的方法

Linux已经越来越受到广大用户的欢迎,很多人舍弃微软选择Linux,这是为什么呢?免费,功能也比较强大,更稳定,安全等等。不过对于应用Linux的用户也会遇到问题,这里为你讲解Linux成为路由器,希望你能学会Linux成为路由器的方法。要想使Linux系统达到这种

Linux已经越来越受到广大用户的欢迎,很多人舍弃微软选择Linux,这是为什么呢?免费,功能也比较强大,更稳定,安全等等。不过对于应用Linux的用户也会遇到问题,这里为你讲解Linux成为路由器,希望你能学会Linux成为路由器的方法。


要想使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出口路由等。因此,笔者在此分别列出这个工具实现路由功能的命令内容,其后,在介绍如何通过这两个工具合作,完成更加高级的功能。


1、IPTABLES工具的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路由器共享上网了,便前题条件是要设置这些局域网中的PC的IP地址为此IP地址段中的任何一个,但不能相同,192.168.1.2-192.168.1.254,同时,设置它们的网关地址全部为192.168.1.1,这是Linux路由器中连接局域网网卡的IP地址。因为,在这里全部使用固定IP地址,没有使用DHCP服务器,因此,这此IP地址都必需由用户自行指定的。


以上就是Linux成为路由器的步骤。


推荐阅读
  • PartI:取经处: http:www.ramkitech.com201210tomcat-clustering ... [详细]
  • 什么是网关服务器初学linux服务器开发时,我们的服务器是很简单的,只需要一个程序完成与客户端的连接,接收客户端数据,数据处理,向客户端发送数据。但是在处理量很大的情况下,一 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 在单位的一台4cpu的服务器上部署了esxserver,挂载了6个虚拟机,目前运行正常。在安装部署过程中,得到了cnvz.net论坛精华区 ... [详细]
  • LVS-DR直接路由实现负载均衡示例
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 禁止程序接收鼠标事件的工具_VNC Viewer for Mac(远程桌面工具)免费版
    VNCViewerforMac是一款运行在Mac平台上的远程桌面工具,vncviewermac版可以帮助您使用Mac的键盘和鼠标来控制远程计算机,操作简 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 引号快捷键_首选项和设置——自定义快捷键
    3.3自定义快捷键(CustomizingHotkeys)ChemDraw快捷键由一个XML文件定义,我们可以根据自己的需要, ... [详细]
  • 抖音服务器带宽有多大,才能供上亿人同时刷?
    最近看到一个有意思的提问:抖音服务器带宽有多大,为什么能够供那么多人同时刷?今天来给大家科普一下。 ... [详细]
author-avatar
naniwang99_537_742
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有