A. 基于linux与ip6的多机互联怎么解决
IPv6运用AH和ESP对所传输的数据进行认证和加密,保证了数据的机密性、完整性和可靠性,实现了信息在传输过程的安全性。但IPv6并不能保障网络系统本身的安全及其提供的服务的可用性,也不能防止黑客的非法入侵和窃取私有数据。面对IPv6将要广泛的应用,有必要将其和防火墙相结合来保障整个网络系统的安全。
目前Linux操作系统自2.2内核以来已提供对IPv6的支持,其性能稳定且安全性较高,因此本文以Linux为平台来研究设计针对IPv6的防火墙系统。
Linux内核对数据包的过滤处理
netfilter框架机制
netfilter是linux2.4内核以后实现数据包过滤处理的一个抽象的、通用化的功能框架,它提供了不同于BSD Socket接口的操作网络数据包的机制。在netfilter中,协议栈每种协议都定义了若干个钩子(HOOK),而对应协议的数据包将按照一定的规则通过一些钩子,每一个钩子都是处理函数挂载点。内核模块可以在各个钩子上注册处理函数以操作经过对应钩子的数据包。数据包经过所注册的函数处理后,根据一定的策略返回给内核进行下一步的处理。
IPv6协议定义了五个钩子:
(1)NF_IPv6_PRE_ROUTING:数据包在抵达路由之前经过这个钩子。一般应用于防止拒绝服务攻击和NAT。
(2)NF_IPv6_LOCAL_IN:目的地为本地主机的数据包经过这个钩子,这个钩子可以应用于防火墙。
(3)NF_IPv6_FORWARD:目的地非本地主机的数据包经过这个钩子。
(4)NF_IPv6_POST_ROUTING:数据包在离开本地主机之前经过这个钩子,包括源地址为本地主机和非本地主机的数据包。
(5)NF_IPv6_LOCAL_OUT:本地主机发出的数据包经过这个钩子。这个钩子可以应用于防火墙。
数据包从左边进入系统,进行IP校验以后,数据包经过第一个钩子NF_IP6_PRE_ROUTING注册函数进行处理,然后就进入路由代码决定该数据包是需要转发还是发给本机。若该数据包是发给本机的,则该数据经过钩子NF_IP6_LOCAL_IN注册函数的处理以后传递给上层协议。若该数据包应该被转发则它被NF_IP6_FORWARD注册函数处理。经过转发的数据包经过最后一个钩子NF_IP6_POST_ROUTING注册函数的处理以后,再传输到网络上。本地产生的数据经过钩子NF_IP6_LOCAL_OUT注册函数处理以后,进行路由选择处理,然后经过NF_IP6_POST_ROUTING注册函数的处理以后发送到网络上。每个注册函数处理完后,将返回一个整形常量,内核根据这个返回值来对数据包作下一步的处理,现在内核共定义了以下五个常量:
(1)NF_DROP表示丢弃此数据包,而不进入此后的处理;
(2)NF_ACCEPT表示接受此数据包,进入下一步的处理;
(3)NF_STOLEN表示异常分组;
(4)NF_QUEUE表示排队到用户空间,等待用户处理;
(5)NF_REPEAT表示再次进入该钩子函数作处理。
ip6tables数据包过滤系统
目前,基于Netfilter框架的、称为ip6tables的IPv6数据包选择系统在Linux2.4以上的内核中被应用,它可以让用户访问内核过滤规则和命令。这种数据包选择主要用于实现数据包过滤(filter表)、网络地址转换(nat表)及数据包处理(mangle表)。Linux2.4内核提供的这三种数据包处理功能都基于Netfilter的钩子函数和IP表。它们相互之间是独立的模块,但完美的集成到由Netfilter提供的框架中。
filter表格不对数据包进行修改,只对数据包进行过滤。它通过钩子函数NF_IP6_LOCAL_IN、NF_IP6_FORWARD及NF_IP6_LOCAL_OUT接入Netfilter框架。NAT表格监听三个Netfilter钩子函数:
NF_IP6_PRE_ROUTING、NF_IP6_POST_ROUTING及NF_IP6_LOCAL_OUT,用于源NAT、目的NAT、伪装(是源NAT的一个特例)及透明代理(是目的NAT的一个特例)。mangle表格在NF_IP6_PRE_ROUTING和NF_IP6_LOCAL_OUT钩子中进行注册。使用mangle表,可以实现对数据包的修改或给数据包附上一些额外数据。
ip6tables用户命令基本上包含以下5部分:
(1)希望工作在哪个表(Filter、NAT、Mangle);
(2)希望使用⑴所指定的表的哪个链(INPUT、OUTPUT、FORWARD等);
(3)进行的操作(插入、添加、删除、修改);
(4)对特定规则的目标动作;
(5)匹配数据包条件。ip6tables的语法为:
#ip6tables[-ttable] command [match] [target] [-ttable]有三种可用的表选项:filter、nat和mangle。该选项如果未指定,则filter用作缺省表。filter表用于一般的信息包过滤,它包含INPUT、OUTPUT和FORWARD链。nat表用于要转发的信息包,它包含PREROUTING、OUTPUT和POSTROUTING链。
PREROUTING链由指定信息包一到达防火墙就改变它们的规则所组成,而POSTROUTING链由指定正当信息包打算离开防火墙时改变它们的规则所组成。如果信息包及其头内进行了任何更改,则使用mangle表。该表包含一些规则来标记用于高级路由的信息包,该表包含PREROUTING和OUTPUT链。
ip6tables的基本操作(command):-A表示在链尾添加一条规则,-I表示插入一条规则,-D表示删除一条规则,-R表示替代一条规则,-L表示列出所有规则。
ip6tables基本目标动作(target)(适用于所有的链):ACCEPT表示接收该数据包,DROP表示丢弃该数据包,QUEUE表示排队该数据包到用户空间,RETURN表示返回到前面调用的链,FOOBAR表示用户自定义链。
ip6tables基本匹配条件(match)(适用于所有的链):-p表示指定协议,-s表示源地址,-d表示目的地址,-i表示数据包输入接口,-o表示数据包输出接口。例如,识别IPv6的网络服务器上的SSH连接时可以使用以下规则:
#ip6tables-AINPUT-ieth0-ptcp-s3ffe:ffff:100::1/128--dport22-jACCEPT
当然,还有其他对规则进行操作的命令,如清空链表,设置链缺省策略,添加用户自定义的链等,这里不再详述。
INPUT、OUTPUT、FORWARD链是ip6tables内置的过滤链,每条链都可定义若干条过滤规则,构成了基本的ip6tables包过滤防火墙,
B. 请问linux系统下软路由有哪些软件要求支持web图像管理 还要保留linux系统功能 还要要求带图形操作桌面
在Linux系统下实现路由功能,两种方法来实现,一种是通过IPTABLES工具的NAT转发功能,一种是使用IPROUTER2工具集中的IP ROUTE命令子集来实现。这两种方法各有优缺点,使用哪种方法,主要看你所在的网络使用哪种方法连接互联网。IPTABLES工具适合动态IP地址以及固定公网IP地址方式,同时,还提供了网络地址转换功能,此功能不仅能使使用私有IP地址的内网PC连接上互联网,而且还提供外网能过DNAT功能访问处于内网中的各种网络服务,以用隐藏内容IP网络段,增加了安全性。IP ROUTE工具同样适应与IPTABELS相同的两种上网方式,但不能提供NAT功能过这两个工具共同合作的才能实现的,例如,将要讲到的策略路由、负载均衡、多WAN出口路由等。因此,笔者在此分别列出这个工具实现路由功能的命令内容,其后,在介绍如何通过这两个工具合作,完成更加高级的功能。
C. 局域网网线太长,中间加了个tplink路由器当做交换机但是不能用,求解。
路由下接交换机倒是用过,交换机下接路由还真没使过00
我给你提个办法你看你那边可以用不,因为网线最远传输距离基本100M左右,所以两个交换机是必须的。
16交换机-各PC
总线-无线路由<
8交换机-各PC
最远的走线我尽量不超过100m。
D. 有谁可以提供一些Linux系统概述的资料,要快,非常感谢。
Linux概述
1.1 什么是linux?
最节俭地说,linux是一个操作系统。它使得计算机上的软件和硬件之间协调工作,就好像Microsoft Windows(MS windows,微软的windows系统)系列操作系统(MS Windows和linux之间又有着巨大的差别。不仅差别巨大,甚至互相对立,互相攻击。缘何对立?缘何攻击?尽在本章中。)。至于linux具体特性,很难用一句或者一段话来表述清楚。但可以有一个大概了解:linux是一个多任务的多用户的多平台的在保护模式下的遵守POSIX标准的遵守SYSV和BSD扩展的遵守GPL许可的32位(也有64位)的类UNIX的开放源代码的免费操作系统。这句话基本上涵概了当今linux最流行最重要最主要的特性。可能读者对以上的一些名词云里雾里,不知所云,简单介绍:
1.多任务
计算机在同一时刻运行多个应用程序的能力。
2.多用户
计算机在同一时刻被多个用户访问的能力。如网络上的服务器必须是多用户的。因为网络上的服务器需要能够同时接受多个用户的同时访问。除了linux系统,比较熟悉的Win2000也是多用户的操作系统。多用户操作系统最主要的特点是:同一时刻不同的用户访问。例:一台windows98机器,虽然可以有好几个不同的帐号,但不能同时访问,所以它并不是多用户的。
3.多平台
可以在不同种类的CPU下工作。不要以为世界上就只有intel ,AMD这样的兼容CPU,还有很多种类的CPU。如:Alpha、Sparc。
4.保护模式
在linux下应用软件无法访问系统分配的内存以外的内存区域。如此,一个软件的错误不会造成整个系统的瘫痪。有些人没事在那里叫嚣:linux理论上永远也不会死机,就是这个原因。(但事实上还是会死的)
5.POSIX
POSIX表示可移植操作系统接口(Portable Operating System Interface ,缩写为 POSIX 是为了读音更像UNIX)。电气和电子工程师协会(Institute of Electrical and Electronics Engineers,IEEE) 最初开发 POSIX 标准,是为了提高 UNIX 环境下应用程序的可移植性。然而,POSIX 并不局限于 UNIX。 许多其它的操作系统,例如 WinNT,都支持 POSIX 标准,尤其是 POSIX.1。POSIX.1 提供了源代码级别的C 语言应用编程接口(API)给操作系统的服务程序,例如读写文件。POSIX.1 已经被国际标准化组织(International Standards Organization,ISO)所接受,被命名为 ISO/IEC 9945-1:1990 标准。
6.SYSV和BSD扩展
可以理解为和SYSV和BSD源代码级的兼容。简单一点,就是Linux下的应用程序同时也能在这两个系统上运行。SYSV和BSD也是两个操作系统,不知道这两个系统是什么?那就往下看。
7.GPL(General Public License)
公用许可证,下文会有详解。
1.2发音问题
1.2.1 linux的发音
linux发音是五花八门版本颇多,就笔者见到和听到的不下10种。对这种情况,据说,linux的创始人Linus(Linus Torvalds)针对读音分歧较多的情况,特意录了一段他对Linux的发音。这段录音的内容是这样的:“Hello,this is Linus Torvalds and I pronounce Linux as Linux”。我听出来的是/'li:nэks/,综合网上和linus自己的读音,概括出几个自认为最合适也最通用的读法:/Li'nQks/(“里那克斯”)或/'li:nэks/(“里呢克斯”)或/Li'nu:ks?/(“里纽克斯”)。这几个应该是谁都听得懂的。至于哪个比较正宗,当然是linus的原音。但事实上似乎使用linus那种读发的人并不在多数。
提示:上面的这段录音可以在RedHat中调试声卡的时候可以听到,如果你的声卡调试成功,系统会播放上面一段声音以示成功。
1.2.2 Linus Torvalds的发音
我们还应该了解一下其作者名子的发音。毕竟是一个人的名子,没人敢随便念。基本上比较统一。在英语中,Linus Torvalds(/li'nus 'tRwR:z/)中文就是“李纽斯·托沃兹”,也有翻成“李纳斯·托沃兹”的。但是你有机会听上面提到的那段录音,可以发现他念的是“李纽斯·托沃兹”。一般我们称他为linus先生,也就是“李牛死”。
2、体系结构概述
按照Garlan和Shaw提出的Linux操作系统分层方法:Linux操作系统分为4层次,即四个子系统,分别是用户进程、系统调用接口、Linux内核、硬件控制器。下面简单介绍一下这四个组成部分。
用户进程:用户应用程序是运行在Linux操作系统最高层的一个庞大的软件及核。当一个用户程序在操作系统之上运行时,它就是操作系统的一个进程。计算机不同,程序的集合大小会有所变化。
系统调用接口:为了在应用程序中实现特定的任务,可以通过系统调用来调用操作系统内核中特定的过程,以实现特定的服务。一般认为,这些调用和服务业时操作系统的一部分,内和编程接口也属于这一部分。系统调用本身也是由若干条指令组成的,但与一般过程不同的是:系统调用运行在内核模式,而一般的进程运行在用户模式。
Linux内核:内核式操作系统的灵魂,包括内核抽象核对硬件资源(如cpu)的间接访问,它负责管理磁盘上的文件、内存,负责启动系统并运行程序,负责从网络上接收和发送数据包等等
硬件:这个子系统包括了Linux安装时需要的所有可能的物理设备。
3、Linux内核
从程序员的角度来讲,操作系统的内核提供了一个虚拟的机器接口。它抽象了许多硬件细节,程序可以以某种统一的方式来进行数据管理,而内核将所有的硬件抽象成统一的虚拟借口。
Linux以统一的方式支持多任务,而这种方式对用户进程是透明的,每一个进程运行起来就好像只有它一个进程在计算机上运行一样,独占内存和其他的硬件资源。实际上内核在并发的运行几个进程。并且能够让几个进程公平合理地使用硬件资源,也能使各个进程之间互不干扰安全的运行。读到这里你就明白了为什么linux不会象windows那样常死机、蓝屏。linux如果使用图形界面可能会发现计算机好像死机了,其实没有死,而是某个进程死了,可能就是你的kde,gnome.杀死这个进程就可以了不必reset.
Linux内核也要完成一般操作系统必须完成的任务:
对文件系统的读写进行管理,把对文件系统的操作映射成对磁盘或者其他块设备的操作,Linux系统把所有的设备对定义为文件了,哈哈,这可与windows不同。
管理程序的运行,为程序分配资源,并且处理程序之间的通讯。
管理存储器,为程序分配内存,并且管理虚拟内存
管理输入输出,将设备映射成文件。
管理网络:有“网络之子”之称的Linux,对网络的管理可是她的强项。使用Linux你就会感受到它的网络功能的强大,可以使用Linux模拟强大的Csico高级路由器,那种感觉真实太棒了,只要几百块钱买一台486的计算机哦,就可以在上面自己构造强大功能的路由器,是不是动心了,哈哈,不过软件实现的路由器性能肯定比不上硬件路由器。
内核必须包含虚拟文件系统(VFS)管理程序以及各种具体文件系统映射成VFS的程序。这可是Linux较有特设的一部分,这就是为什么Linux支持的文件系统(minix文件系统、ext2/ext3文件系统、msdos/vfat/ntfs文件系统、iso9600CD-ROM的标准文件系统、hpfs OS/2用的文件系统、ufs/sysv 文件系统)很多的原因。对于内存的管理,Linux使用虚拟存储管理方式,利用现代处理器的页面映射能力,在x86处理器上,Linux使用4GB的地址空间,操作系统处理利用物理存储器外还支持将硬盘空间映射成虚拟内存。所有的存储器(物理内存和虚拟内存)被分成大小相等的页面,系统通过给出页号和页面内偏移量对某个内存地址进行访问。物理内存紧张的时候,操作系统把某些没有使用的页面从内存移动到硬盘上以便腾出空闲的页面供程序使用,这个过程叫做交换(SWAP).Linux使用交换分区来处理交换需要的虚拟存储空间,在硬盘上开设一个独立的分区专门用于映射虚拟内存,交换分区可以有多个,之所以这样是因为早期的Linux核心要求每一个交换分区不能超过128MB.对于较重负荷的服务器,交换内存用到256MB甚至更多都是很正常的事情,因此那时的系统经常有多个交换分区。目前这个限制已经去除。
内核的另外一个任务是执行用户程序,为此核心必须支持可执行格式。Linux使用多种可执行文件个时,诸如elf、aout等等,这可与windows不同,没有办法从名字上区分一个文件到底是什么格式,核心只关心二进制文件的具体形式。
linux内核由五个主要的子系统组成:进程调度(SCHED)、内存管理(MM)、虚拟文件系统(VFS)、网络接口(NET)、进程间通信(IPC)。进程调度处于核心位置,所有的子系统都依赖于它,因为每一个子系统都需要挂起或者恢复进程。一般情况下,当一个进程等待硬件操作完成时,它会被挂起;当操作真正完成时,进程恢复执行。各个子系统之间的依赖关系如下:
进程调度与内存管理之间的关系:这两个子系统互相依赖。在多道程序环境下,程序运行必须为之创建进程,而创建进程的第一件事就是要将程序和数据装入内存。
进程间通信与内存管理的关系:进程间通信子系统要依赖内存管理支持共享内存通信机制。这种机制尤许两个进程除了拥有自己的私有内存外,还可存取共同的内存区域。
虚拟文件系统与网络接口之间的关系:虚拟文件系统利用网络接口支持网络文件系统(NFS),也利用内存管理支持RAMDISK设备
内存管理与虚拟文件系统之间的关系:内存管理利用虚拟文件系统支持交换,交换进程定期地由调度程序调度。
也可参照以下网址:http://ew.gqjy.net/kcgg/zczn/Win2000/200608/22649.html
E. linux双网服务器架设教程(高分求)
LINUX下双网双线服务器的架设全过程
目的: 现在很多中小型网络有两条或者多条相同的不同的ISP的网络出口线路
而如何将这两条线路合理的利用起来 是很多人非常关心的
西安秀网吧资讯会为大家提供更多更好的学习资料和知
此文用通俗易懂的方法的讲解了如何初步达到此目的 本方案不需要大量的投资
也不需要改变现有网络结构 并且可扩展性好! 环境:用基于LINUX路由功能 由2.2内核开始,
Linux便开始支持高级路由技术,提供策略路由,流量控制等多项高级路由功能,
配合Netfilter包过滤软件,可实现许多专业路由器和防火墙才能实现的高级功能
本方案采用RedHat 9.0 系统基础 系统自带 IPTABLES 和 IPROUTER2 软件,
申明:本方案为了表达一个通俗易懂的称述 很多地方采用大白话方式进行说明,
这对技术来说是不严谨的态度,并且在文中可能出现很多错误,欢迎指正
希望有更多人能使用此方案而达到自己的目的 可以用在论坛上联系,
写的很乱还请大家见谅!
约定:对于具体#作,都是基于Shell下的,就是所谓终端,控制台
我将用横线阁开,可以看成实际的#作,后面的针对解释 均采用汉字通俗解
但不能作为实际#作!
一、 硬件选择和实施:
1。本人在实际#作中选择了 C3 1G CPU INTEL 815ET芯片组主板(集成显卡) 128M SDRAM 三张网卡 均是RTL 8139 10/100M 自适应网卡 3G大小心的一块老硬盘 RedHat 9.0系统盘 光驱 键盘 鼠标 显示器|
为安装使用 过后拆掉,在各个实际环境里 选择方案不一定要相同 ,但是本人建议 CPU 不低于233M 内存不低于64M 网卡尽量不用8029等10M 设备,如果有条件可以选择不同的主流网卡 其他 主是要求稳定
2。安装系统 根据硬盘大小以及个人情况 可任意方式安装 提示以及建议:
A : 如果分区不是很清楚 可以用 光盘上的PQ 将硬盘分区 第一次接触的,采用 将6G以下的空间分成EXT3格式的分区 然后接着一256M左右的SWP交换分区
B。 网卡先别一次性装上, 可先将要用于内网的网卡,先插上,以后系统安装成功以后再依次插上其他网卡 以免混淆!在安装的时候 可以完全默认的方式 并且 尽量采用 英文安装 ,不装XWINDOWS 也就是可以一路 NEXT下去!!!
3。建立用户 除了系统自带的 root 超级管理员帐户以外 请建立1-2个普通用户! 更具体的安装#作 请搜寻网络上其他的文章!或者联系我,有非常详细的称述!
二、 单机的配置 这一步很重要 包括设置好网卡 如果是ADSL的PPOE的拨号方式 还必须设置ADSL上网 并且弄清楚 在硬件上的每一块网卡和系统里面的网卡的对应关系!
参考模型 eth0———接内网 RD9.0 LINUX eth1———接外网线路 1 eth2———接外网线路
2 注意 : 在LINUX中表示的以态网卡的方式是ethX X代表的是第几个设备,对于排序 请根据系统的自设定 然后人为找到对应的网卡,可以采用每张网卡接一条线进行 Ping 的方式确定!
在下面这种情况下 将 eth0 (内网)设置为 IP: 192.168.0.1 Netmask:255.255.255.0 Gateway网关:无 eth1 (线路一) 假如 IP : 218.6.2.211 Netmask:255.255.255.0 Gateway网关:218.6.2.1 eth2(线路二)假如 IP :10.0.0.2 Netmask:255.255.255.0 Gateway: 10.0.0.1 实际#作方式: ———————————————————– ifconfig eth0 192.168.0.1 netmask 255.255.255.0 ifconfig eth1 218.6.2.1 netmask 255.255.255.0 ifconfig eth2 10.0.0.1 netmask 255.255.255.0 ———————————————————– 格式为: ifconfig 设备名 IP地址 netmask 子网掩码 直接输入 ifconfig 不带任何参数的话 系统将显示当前网络接口信息
至于更详细的#作方法请参考其他资料! 这样 就初步设置好了
各个网络接口的 IP地址等! 但是 这样的设置 可能在重起系统以后就会失效
那么最直接的方法是 修改 文件!
(在LINUX下 很多地方可以直接修改文件的方式实现,特别是没有X的时候,显得特别重要,也最有效!
—— vi /etc/sysconfig/network-scripts/ifcfg-eth0
进入VIM编辑界面 按 “i” 进入编辑模式 大致修改为以下内容
请注意 当一块网卡被系统正常检测 只需要改变“=”后面的内容: DEVICE = eth0 ———》设备名,
一般系统自动赋予 ONBOOT = yes ———》是否开机激活 默认 “yes”
BROADCAST =192.168.0.255 ———》
广播地址 NETWORK = 192.168.0.0 ———》
网络地址 NETMASK = 255.255.255.0 ———》
子网掩码 IPADDR = 192.168.0.1 ———》
IP地址 提示 BROADCAST =192.168.0.255
和NETWORK = 192.168.0.0 可以根据IP地址来
当掩码是 24位 (255.255.255.0) 时 BROADCAST是IP地址最后一位变255 NETWORK是 IP地址最后一位变0
修改成功以后 按 “ESC”键 然后 Shift+; 号键,出现“:”提示符 在 “:”提示符下面 输入 “w” 并回车 就将设置保存了,然后输入 “q”退出编辑界面
注意:如果你的eth0也是 用于内网
那么请将 GATEWAAY= 项删除 其他两张网卡,则必须要!!!
如果你装了X 那么可以在图形界面下,才用更合适的工具软件进行修改! ————————————————– vim /etc/sysconfig/network-scripts/ifcfg-eth1 ————————————————- 上面命令进入设置 eth1 ———————————————— vim /etc/sysconfig/network-scripts/ifcfg-eth2 —————————–
上面命令进入设置 eth2 设置 DNS 一般情况下
如果当系统检测到网卡并且要求你设置的时候 你就可以将DNS 加入 但是如果你想修改的话,最直接的方法为编辑DNS文件 ——————————
vim /etc/resolv.conf ——————————— 加入DNS IP地址 格式为 nameserver 202.98.96.68 nameserver 61.139.2.69 等
具体DNS IP即可 当以上设置都正常进行以后
重起系统, 检测设置 ——————————————– ping 192.168.0.1 ping 10.0.0.2 ping 218.6.2.211 ——————————————
检测正确性 (用Ctrl+C结束) 然后 ,将外网卡正确接入网络 至少你确定能上网!
不管他是用的哪条线路!!!!!!!! 如果一切正常 那么就表示系统的配置基本正确。
三、多路复用 接下来, 我们 就可以用系统本身的功能以及软件进行路由规则设置
前面已经提到 2.2以上内核已经带有很多的高级功能
而RedHat 9.0采用采用的是2.4.20的内核版本 是公认的比较稳定的,
当然 你可以选择重新编译升级内核的方式 升级到2.6.X 版本的内核,体验更新的功能,
但是这不是本文所要考虑的内容。
在我们将多路复用之前 最好是先打上两个补丁 A 因为路由缓存的机制,
所以在某一时间断 连接到某一点上的线路是不变的,而必须等到失效才能重新选择,(
对于RedHat9.0的系统内核 需要打这之PATH
下载地址为: http://www.ssi.bg/~ja/patch-2.4.20-ja1.diff 这之PATCH 解决了在系统内核中equailze参数不生效的问题 http://www.teatime.com.tw/~tommy/linux/equalize.patch 将这两个PATCH 下载到本地 比如 直接放在 /root目录下那么这样做,
将PATCH补进内核: ——————————————————– /usr/src/linux-2.4.20-8/patch -p1 ——————————————————— ————————————————- /usr/src/linux-2.4.20-8/patch -p1 ————————————————– 执行完以后 我们就基本上需要的软件都准备齐全了
路由规则: 首先 我们使用 ip route show 命令来显示当前默然的路由规则: ———————————————— ip route show ————————————————- 可以看见 如: 0 lookup local 32766 main 32767 default 这是原有系统的路由规则!
那么 现在 我们使用自己的规则替代或者说将自己的规则的优先级提高于原有规则,
接着 我们创建路由表, 注意 创建的路由表的根据是上面的网络接口 ,
所以请根据我上列举的具体设置来理解 新建命名为 10 和 20的规则
分别针对两个外网线路 规则“10” ———————————————————- ip rule add pref 10 from 218.6.2.211 table 10 ———————————————————- 规则“20” ———————————————————- ip rule add pref 20 from 10.0.0.2 table 20 ———————————————————- 设置main表 ——————————————————— ip route add 218.6.2.0 dev eth1 src 218.6.2.211 ip route add 10.0.0.0 dev eth2 src 10.0.0.2 ———————————————————设置完成
上面的只需要根据不同的IP地址以及对应的硬件设备 修改其部分内容即可 题外: 在LINUX路由表中可以使用0-255来代表不同的规则 而且每个规则都可以用别名来表示,
如果大家对此感兴趣 可以查看修改一个文件里面的内容来达到目的: 原文件给出了几个例子包括 lookup、 main、 default
需要自己添加的 按照这样的格式修改: 在空行处插入 : 规则号 规则名称 10 OUT1 保存即可 路由选择的优先级,是数值越小 代表权越大,所以一个路由选择将先查看 0 规则,既 环路 然后查看下一个规则
在本例子中,当一个数据在路由选择的时候,过了0规则 然后就是 10 规则 接着 20 规则 一直往下!直到匹配为止 通过以上设置, 我们就可以控制住通过某一条线路(ISP)的数据包的返回信息也从原线路返回。这将对运行在路由上的所有的进程起作用!!!并且实现了最基本的流量分割,很简单吧! 然后 就是做负载均衡了!可以将不同的请求根据自定设置发往不同的线路!
我们已经安装好了补丁 并且设置好的各种规则, 对于负载均衡,
可以使用这条语句来实现: ————————————————————————————————- ip route replace default \nexthop via 218.6.2.1 dev eth1 weight via 10.0.0.1 dev eth2 weight 1 ————————————————————————————————- 50
这样 我们就改变了缺省的路由为多路路由!!!!并且我们可以通过改变 weight 参数的值来指定 一条线路的优先权大于 另有条线路 这在两条线路质量不相同的时候是种不错的选择 -.M 5sUvsc
如: —————ip route replace default \nexthop via 218.6.2.1 dev eth1 weight \ via 10.0.0.1 dev eth2 weight —————————————————————-
注意:特别 应该指出的是,因为上面的均衡是根据路由进行的,而路由是根据CACHE选择的,所以这样的均衡不是100%的准确,在实际使用中 最多能达的70%的效率,对于经常访问的某一远程站点,会一直使用同一条线路
求通过不同的线路发送,已经快于原先单条线路了。同时,就现阶段而言,没有ISP的配合 是不可能达到100%的精确的!!!! 现在 负载均衡已经基本设置完成了, 你就可以将外网两条线路接上对应的网卡,特别注意 必须是对应的网卡!
仍然用 ping 命令来检测 两条线路是否能在同时 ping 通! ping 线路1ISP出口网关 ping 线路2ISP出口网关 这是一种很好的方法, 各线路的从内网出去以后最先经过的是ISP的网关,并且在正常情况下都是允许 ping 探测的!!
如果都能同, 那么 你已经正确的完成设置了!!!! 你的这台单机已经可以使用两条线路同时上网了,系统在你进行网络连接的时候,根据每条线路的轻重区别 来为你将连接请求合理的分发到两条线路上!! 四、带动内网机器上网 IP伪装(NAT)、端口转发 配置好单机的多重路由功能以后,如何让他冲当内网的网络出口服务器,带动其他机器上网呢,
这将是此节的重点,并且,这部分内容单独来将,已经是将一个LINUX#作系统配置成路由器的具体步骤了! 首先,我们应该确定系统已经安装了IPTABLES 在大多数基于2.2内核的LINUX#作系统中,已经默认安装了次软件!
通过下面的命令就可以实现 IP伪装
注: 里面几个具体数据将安装本实例问准,我会在后面提到!
A、定义IPTABLES位置(不是必须): ———————————– IPTABLES=”/usr/##in/iptables” —————————–
B、清除原有防火墙规则设置: ———————————– IPTABLES -P INPUT ACCEPT IPTABLES -P FORWARD ACCEPT IPTABLES -P OUTPUT ACCEPT ——————————-
C、清除NAT规则设置 ————————————— IPTABLES -t nat -P PREROUTING ACCEPT IPTABLES -t nat -P POSTROUTING ACCEPT IPTABLES -t nat -P OUTPUT ACCEPT IPTABLES -t mangle -P PREROUTING ACCEPT IPTABLES -t mangle -P OUTPUT ACCEPT——————————-
D、清除在防火墙和NAT中不是默认的连接 ————————————- IPTABLES -F IPTABLES -t nat -F IPTABLES -t mangle -F IPTABLES -X IPTABLES -t nat -X IPTABLES -t mangle -X ————————————
E、载入模块 (必须): ———————————— /##in/depmod -a /##in/modprobe ip_tables /##in/modprobe ip_conntrack /##in/modprobe iptable_filter /##in/modprobe iptable_nat /##in/modprobe ipt_limit /##in/modprobe ipt_state /##in/modprobe ip_conntrack_ftp ————————————-+
F、打开转发功能(必须) ——————————————– echo”1〃 /proc/sys/net/ipv4/ip_forward ——————————————–
G、设置转发规则: ———————————————————————– iptables -t nat -A POSTROUTING -o eth1 -s 192.168.0.0/24 -j MASQUERADE iptables -t nat -A POSTROUTING -o eth2 -s 192.168.0.0/24 -j MASQUERADE ———————————————————————– A B C D为可选
但是请注意 如果你的IPTABLES不在 /usr/##in/ 这个目录 那么 你最好是选择这几项
并且 该成自己所在的目录 如果你选择了使用B C D 那么 你必须 选择A 就是必须给“IPTABLES” 这个常量赋值,
因为在 LINUX 默认中 全部大写的 IPTABLES 不是一个合法的iptables 命令 当然,如果你的系统已经定义了 iptables 的路径
那么, 将上面的 IPTABLES 换成小写的 iptables 也行! E F G则是必须要的, 当上面的规则成功设置以后, 将你的内网网卡连上交换机 等,修改其他机器的IP地址为 192.168.0.X 掩码为 255.255.255.0 (X为2-254之间) 生效后,就能通过你刚才打造的LINUX路由器上网了!!!
但是这些设备在重起后就会失效,如何解决了
将这些命令写入脚本 让他开机启动 即可达到保存的效果!具体
将各命令写入一文本文件, 并形象的取名 比如,将IPTABLES设置 保存到当前工作目录里面的一个文件 并取名为 nat —————- vi nat —————- #复制内容 IPTABLES=”/usr/##in/iptables” IPTABLES -P INPUT ACCEPT IPTABLES -P FORWARD ACCEPT IPTABLES -P OUTPUT ACCEPT IPTABLES -t nat -P PREROUTING ACCEPT IPTABLES -t nat -P POSTROUTING ACCEPT IPTABLES -t nat -P OUTPUT ACCEPT IPTABLES -t mangle -P PREROUTING ACCEPT IPTABLES -t mangle -P OUTPUT ACCEPTIPTABLES -F IPTABLES -t nat -F IPTABLES -t mangle -F IPTABLES -X IPTABLES -t nat -X IPTABLES -t mangle -X /##in/depmod -a /##in/modprobe ip_tables /##in/modprobe ip_conntrack /##in/modprobe iptable_filter /##in/modprobe iptable_nat /##in/modprobe ipt_limit /##in/modprobe ipt_state /##in/modprobe ip_conntrack_ftp echo “1〃 > /proc/sys/net/ipv4/ip_forward iptables -t nat -A POSTROUTING -o eth1 -s 192.168.0.0/24 -j MASQUERADE iptables -t nat -A POSTROUTING -o eth2 -s 192.168.0.0/24 -j MASQUERADE
存盘退出 存盘退出 重起即可生效 (根本不需要用户登陆执行!)
其他脚本也是一样道理 各位 所有基本的#作到此为止 我想 如果你能看完,
那么你自己就完全能用LINUX 打造一个高级路由 不要犹豫 他的性能 绝对敢和市面上价值几大千的路由器成品媲美~!!!
感谢网络上这方面的网站、论坛介绍的很多知识 使我能够独立实施整个方案 并且详尽的写出来! 感谢LINUX 以及无数的开发人员 是他们 给我们构造了一个强大 自由 的#作系统及软件!
接下来,我将对其他更细微的有关#作方法、心得 写下来,希望对现在采用LINUX 类LINUX系统 、软件做路由的朋友有所帮助,
如:断线救援,如何在一条线路断开以后立刻启用另一条线路负担整个网络任务,并且在线路连同以后,又重新自动启用,如何为此提供最详尽的,有效的,简易的方案 一盘秀的技巧设置 如果面对一盘秀的诸多问题了?
让我们一起来 在一张小小的软盘上反转干坤 高级路由策略 ,想某一个游戏 只走某一条线? 想限制某些人 或者某些机器的上网需求,我们照样能办到,并且能做得更好!!!!!!!!!
动态路由,电信级路由 如何在一台投资根本不多的LINUX 类LINUX机器上 实现更强大的功能,如 各种高级动态路由 并使其有更好的扩充性 和灵活性!!!为我们在网络接入方面多一个选择!!!多一点放心!!! 。。。。。。。。。。。。。。。。。
我将把这个方案中所用到的脚本 和补丁 打包放在网上, 敬请 指正!!!
我于昨日晚,测试完所有的脚本, 包括在两种不同的双线路下测试, ?
我采用的机器的配置和前一次差不多 P2 433 CPU 128M SDRAM 3.1G 硬盘 三张8139 10/100M 自适应网卡,上100 M FULL 其他外设,在配置的时候用,
采用RedHat 9.0 系统,最小化安装. 网络具体情况, A环境 100台机器, 一条3M ADSL 固定IP 一条 4M 光纤 线路等值使用 将系统配置好,并让内网机器上网, 使用网络蚂蚁,
在机器1上下载天虎网下 载中心(down.tyfo.com)的2000 SP4补丁 5线程, 最高速度 450K/S 最低速度 350K/S 平均值 410K/S 在机器2上同时也开5线程下载 绵阳169 下载中心的 2000 SP4 最高速度为 310K/S 最低速度为280K/S 平均为302/S
由此,可以看出, 基本上完全使用了线路的带宽, 并且,是分到两条线路在 进行数据交换, 而我在LINUX路由上,用tcpmp 查看当前系统网络情况, 可以看 出 每条线上都分发的有连接, 并且一个很有趣的现象出现了,
当我在内网机器上 打开网页的时候,他通过 线路1连接到DNS 解析了域名,而又将连接从 线路2发出! B 环境,40台机器 两条等值的带宽相同的 但是不同ISP 的ADSL线路 均为2M 下行 640K 上行速度! 一为电信 一为网通, 而上次有位朋友提到,
当服务器 是电信的时候内网连接可能卡,慢的情况,, 我针对此做了个测试, 在路由中写入 规则,当远程站点为电信IP段的时候,选择电信线路出口,当远程站点IP为网通IP段 的时候,选择网通线路出口, 这样缓冲了交差连接导致网速慢的情况, 但是,另一 个现象发生了,电信线路上感觉比较拥挤 , 在内网同时进行任意游戏,上网,聊天, 下载文件的时候, ADSL线路的请求等待队列都已经比较长, 毕竟ADSL的上行只有 640K 因为机器不是很多 所以感觉不明显,
最后我做了个更详细的规则 1.只对北方的或者其他物理位置较远的电信IP 段进行必须通过电信线路这 个规则, 2. 对于任意位置的网通IP段必须通过网通线路连接, 过后测试,基本 上两条线路的使用比较均衡, 相对来说,连接到在物理位置上很远的远程站点进行 下载和游戏的不是很多, 因为还有很大一个因素是,远程站点的服务器配置,以及 经过的中间节点的数目及网络性能等,如果你对此还不满意 你可以进行更加细微 的设置 断线救援方面, 很遗憾 在这个环节上,因为ISP的限制,导致此功能在实施 过程中遇见了一点点问题, 因为 我们这里的ISP ,不允许用ICMP探测, 当然,可 以探测到某一条线路的网关, 也就是说,比如一条光纤和一条ADSL 光纤为网关为 218.6.2.1 ADSL网关为61.139.54.1 那么同时ping 这两个IP地址来探测线路情 况,是可行的,, 但是 当某一条线路被停用以后,, 就有可能不能在线路恢复的 时候重新启用 因为,,ISP不运行从光纤线路上去pingADSL网关,当ADSL断掉的时候 ,系统将从路由中删除ADSL连路,只有光纤在使用, 这个时候,不管ADSL是否正常, 都没办法ping 通 ,返回的值永远是”0〃 如果你的地方ISP没有这个限制的话, 就没有这个问题, 并且会执行得很好. 针对这个问题,我会考虑在短时间了去寻 找其他的方法!!! 而对于”网络游戏经常断”这个情况, 在线路及服务器正常的情况下是不可能 出现的, 就算有这种情况出现,问题都不在于内部网络的路由上! 如果你是以下情况 那么 你可以采用我的文件,并简单修改,就能实现起强大 的功能, 有3张物理网卡(两条外线),, 或者2张网卡(一条外线)+一固定ADSL 好了,, 废话就到此为止吧! 每个目录下面都有相应的说明文件 详细说明,该目录下面需要改的文件,不需要改的文件,所需修改的文件的具体 位置 约定 : 任何设置文件里面的参数都有统一性, 请注意 最好是保持变量名 的一致 便于项目的设置和问题的查找 如: OUTIF1 代表外网卡设备1 OUTIF2 代表外网卡设备2 GW1 代表外网线路1(OUTIF1)的网关 GW2 代表外网线路2(OUTIF2)的网关 IP1 代表外网网卡1的IP地址 IP2 代表外网网卡2的IP地址 5288 NETMASK1 代表外网网卡1的掩码 NETMASK2 代表外网网卡2的掩码 你仅仅需要修改 引号 “” 里面的对应内容即可 注意 请保证文件的格式 可用 windows的记事本打开, 但是可能将文件 内容表示成连续的段 中间会用 隔开,请不要删除这个空字符 所有文件更改成功以后, 在当前目录下 执行 命令 sh go 等待一分钟左右 系统将重启,在重启后, 所有的设置将生效
F. 在Linux下 路由表项中有两条到相同目的IP的路由,如何控制IP包走那一条路由,即可否控制IP包下一跳地址。
很遗憾,不可以这样均衡分配的,linux下包发送原理是先找路由规则,没有配置高级路由的就是main这个规则,
也就是route -n或ip route show看到的结果都是main规则下的。
然后找路由,路由是有优先级的,同等优先级下,按ip route show显示顺序匹配发送,一旦匹配,后面的就不会
再去看了。
所以根据路由不可以这样均衡分配的,永远都办不到。
但是其它一些情况,比如你这台linux是服务器,你只是希望上面的网站流量分布在不同网卡,那很容易办到,为什么上
面那情况不可以,而现在又可以了呢,因为网站访问对这台linux来讲是被动发送数据的,从哪儿进来就会从哪儿回复出去。
通过DNS或负载均衡器很容易实现。
但你linux做为客户端仅仅是去上别的网络,是主动发包的,会去找你本机的路由,况且你目的IP相同,那连分类走路由的机会都没有了。
除非从时间上错开,定期自动换网关。哈哈
G. Linux操作系统怎么建立无线网连接
1.连接路由器时输 入的密码错误。2.在手机设置中找到恢复默认设置,将手机恢复默认设置试试3.将路由器重启下4.查看下手机上是否安装了安全软件,安全软件里面的 防火墙设置 ,有可能也会拦截 wifi请求5.路由器有设置MAC地址过滤 由器,由于保密性以及防止蹭 网现象 发生都会 有mac地址过滤设置,连不上的时候我 们首先查看路由器 是否建立了mac地 址过滤规则,然后把手 机的Mac 地址添加到规则当中就可以搜索并且连接。手机查看MAC地址方法:设置-无线控制-wlan开启-wlan设置-菜单键-高级-MAC地址6.对方是WAPI信号,点击设置--WLA N--WLAN 打开--高级--兼容WAPI 打开。
H. 为什么说LINUX网络功能强大它比WINDOWS网络强在哪
因为linux系统占用资源更少,所以它就游更多资源来处理其它任务
一. linux启动后可以好一段时间不用重启,不会占用内存不能释放的问题,windows启动后在较短时间内必须重启来释放愈占愈多的内存变卡的问题来提高系统的运行速度
二. 大家都知道 ROS软路由的性能,在一个网吧只要用一台淘汰的机器两张网卡就可以架设一台性能与万元级的路由器相当,ROS路由的功能非常强大!!在一些硬路由许多都没有ROS上的一些功能,而ROS软路由系统核心正是 LINUX ,网络性能是无需质疑的
三. 在许多高级企业上使用的服务器系统基本上都是使用LINUX 与 UNIX 很少能见到windows能用在比较复杂要求比较高的大企业中,银行的服务器系统一般都是采用UNIX核心的系统 比较少使用WINDOWS 的操作系统
I. linux主要是做什么用的!
一般做应用服务器,比如你玩的游戏和你访问的网页的应用程序一般都是运行在linux服务器的。
linux服务器有图形的也有命令行的(一般是黑屏),绝大多数在命令行下操作,图形的一般是为了方便学习,个人用的而已;
qq的话你可以上腾讯官网上去下载linux版的rpm包,下载后直接双击即可,不过linux不适合娱乐的应用,更适合学习;
想学习linux的话,自己先看看书吧,推荐《鸟哥的私房菜》,对于初学者很有用的;
安装软件的话,一般是rpm包的,很方便,但是到了服务器上一般的是源码包,这样的软件更安全和稳定,祝你学的愉快(不过提醒一下,刚开始还是有点难度的,要坚持,忽然有一天你会恍然大悟)!!!
J. 有没有linux 配置防火墙和路由器的高级教程
我的观点这个看英文的原文帮忙文档最好。