linux内核NAT配置介绍
Linux内核参数配置
Linux内核参数配置Linux在系统运⾏时修改内核参数(/proc/sys与/etc/sysctl.conf),⽽不需要重新引导系统,这个功能是通过/proc虚拟⽂件系统实现的。
在/proc/sys⽬录下存放着⼤多数的内核参数,并且设计成可以在系统运⾏的同时进⾏更改, 可以通过更改/proc/sys中内核参数对应的⽂件达到修改内核参数的⽬的(修改过后,保存配置⽂件就马上⾃动⽣效),不过重新启动机器后之前修改的参数值会失效,所以只能是⼀种临时参数变更⽅案。
(适合调试内核参数优化值的时候使⽤,如果设置值有问题,重启服务器还原原来的设置参数值了。
简单⽅便。
)但是如果调试内核参数优化值结束后,需要永久保存参数值,就要通过修改/etc/sysctl.conf内的内核参数来永久保存更改。
但只是修改sysctl⽂件内的参数值,确认保存修改⽂件后,设定的参数值并不会马上⽣效,如果想使参数值修改马上⽣效,并且不重启服务器,可以执⾏下⾯的命令:#sysctl –p下⾯介绍⼀下/proc/sys下内核⽂件与配置⽂件sysctl.conf中变量的对应关系:由于可以修改的内核参数都在/proc/sys⽬录下,所以sysctl.conf的变量名省略了⽬录的前⾯部分(/proc/sys)。
即将/proc/sys中的⽂件转换成sysctl中的变量依据下⾯两个简单的规则:1.去掉前⾯部分/proc/sys2.将⽂件名中的斜杠变为点这两条规则可以将/proc/sys中的任⼀⽂件名转换成sysctl中的变量名。
例如:/proc/sys/net/ipv4/ip_forward =》 net.ipv4.ip_forward/proc/sys/kernel/hostname =》 kernel.hostname可以使⽤下⾯命令查询所有可修改的变量名# sysctl –a、linux内核参数注释以下表格中红⾊字体为常⽤优化参数根据参数⽂件所处⽬录不同⽽进⾏分表整理下列⽂件所在⽬录:/proc/sys/net/ipv4/名称默认值建议值描述tcp_syn_retries51对于⼀个新建连接,内核要发送多少个 SYN 连接请求才决定放弃。
linux内核NAT配置介绍
linux内核NAT配置介绍1.开启ipv4转发方法1:把etc/sysctl.conf中的net.ipv4.ip.forward=0后面的0改为1(长期有效)方法2:输入:echo1>/proc/sys/net/ipv4/ip_forward(短期有效,重启后需重新配置)2.配置nat表(假设要在接口eth0上开启SNAT功能,eth0的ip 为192.168.1.34)2.1匹配源ipiptables-t nat-A POSTROUTING-s192.168.10.54-o eth0-j SNAT--to192.168.1.34功能:匹配eth0接口上源ip为192.168.10.54的报文,对其进行nat映射,将源ip替换为192.168.1.342.2匹配源网段iptables-t nat-A POSTROUTING-s192.168.10.54/24-o eth0-j SNAT--to192.168.1.34功能:匹配eth0接口上源网段192.168.10.54/24的报文,对其进行nat映射,将源ip替换为192.168.1.342.3匹配源端口iptables-t nat-A POSTROUTING-p udp--dport53-o eth0-j SNAT--to192.168.1.34功能:匹配eth0接口上目的端口为53的udp报文,对其进行nat映射,将源ip替换为192.168.1.34iptables-t nat-A POSTROUTING-p tcp--dport53-o eth0-j SNAT--to192.168.1.34功能:匹配eth0接口上目的端口为53的tcp报文,对其进行nat 映射,将源ip替换为192.168.1.342.4匹配源端口+源ipiptables-t nat-A POSTROUTING-s192.168.10.54-p udp--dport53-o eth0-j SNAT--to 192.168.1.34功能:匹配eth0接口上目的端口为53、源ip为192.168.10.54的udp报文,对其进行nat 映射,将源ip替换为192.168.1.34 iptables-t nat-A POSTROUTING-s192.168.10.54-p tcp--dport53-o eth0-j SNAT--to 192.168.1.34功能:匹配eth0接口上目的端口为53、源ip为192.168.10.54的tcp报文,对其进行nat 映射,将源ip替换为192.168.1.342.5匹配DNATiptables-t nat-A PREROUTING-i eth1-d!192.168.100.1-p udp--dport!53-j DNAT--to 192.168.100.1功能:将目的ip不是192.168.100.1且目的端口不是53的报文做NAT,目的ip替换为192.168.100.13.查看nat规则iptables-t nat-L4.删除nat规则4.1删除一条nat规则iptables-t nat-D POSTROUTING-s192.168.1.54-o eth0-j SNAT--to192.168.1.344.2删除所有nat规则iptables-t nat-F5.NAT表说明nat表的三个链:1.PREROUTING:定义进行DNAT的规则,因为路由器进行路由时只检查数据包的目的ip 地址,所以为了使数据包得以正确路由,我们必须在路由之前就进行DNAT;2.POSTROUTING:定义进行SNAT的规则,系统在决定了数据包的路由以后在执行该链中的规则。
Linux双网卡搭建NAT服务器
Eth0的IP 地址,GW和DNS 都是自动获取的。
当然,如果是手动分配IP 、GW 和DNS 也是没问题的。
我的eth0 配置如下:IP: 192.168.79.129/24GW: 192.168.79.1DNS:192.168.79.2Linux 主机的eth1 指向内网,IP 地址为:10.50.10 .1/24 。
内网主机的内网主机的IP 地址就是10.50.10.0/24 段的IP ,eth1 的IP 是所有内网主机的网关。
这里,我的内网主机设置如下:IP: 10.50.10.46/24GW: 10.50.10.1DNS:192.168.79.2这里,所有内网主机的网关都设置为eth1 的IP 地址,而DNS 设置为eth1 所在的Linux 系统主机的DNS ,即192.168.79.2 。
(二)启用转发功能以上配置完成后,Host A应该可以ping通Linux系统主机的eth1的IP,因为他们是通过交换机链接的。
但是,Host A应该可以ping不通Linux系统主机的eth0的IP,应为并未开启Linux系统主机的转发功能。
开启Linux的转发功能,执行如下命令:# echo 1 > /proc/sys/net/ipv4/ip_forward查看系统是否启用了转发功能,可以执行如下命令:# cat /proc/sys/net/ipv4/ip_forward如果结果为1,代表已启用,0代表未启用。
此时,执行ping 192.168.72.129 以及其网关和DNS都可ping通了。
(三)配置NAT规则经过第二部分配置后,虽然可以ping相关的IP地址,但是内网主机还是无法上网。
问题在于内网主机的IP地址是无法在公网上路由的。
因此,需要转换成Linux系统主机可以上网的IP(注:这里我们只说不说是公网IP,是因为Linux系统可以直接上外网的IP同样是内网IP。
但是该内网IP(192.168.79.129)已经通过一些机制,实际上同样是NAT的方式,可以访问外网了,因此我们只需将Host A的IP转换成Linux系统eth0接口的IP即可)。
Linux 2.6.19.x内核编译配置选项简介(2)
Linux 2.6.19.x内核编译配置选项简介(2)Security Marking对网络包进行安全标记,类似于nfmark,但主要是为安全目的而设计,如果你不明白的话就别选Network packet filtering (replaces ipchains)Netfilter可以对数据包进行过滤和修改,可以作为防火墙("packet filter"或"proxy-based")或网关(NAT)或代理(proxy)或网桥使用.选中此选项后必须将"Fast switching"关闭,否则将前功尽弃Network packet filtering debugging仅供开发者调试Netfilter使用Bridged IP/ARP packets filtering如果你希望使用一个针对桥接的防火墙就打开它Core Netfilter Configuration核心Netfilter配置(当包流过Chain时如果match某个规则那么将由该规则的target来处理,否则将由同一个Chain中的下一个规则进行匹配,若不match所有规则那么最终将由该Chain的policy进行处理)Netfilter netlink interface允许Netfilter在与用户空间通信时使用新的netlink接口.netlink Socket是Linux用户态与内核态交流的主要方法之一,且越来越被重视Netfilter NFQUEUE over NFNETLINK interface通过NFNETLINK接口对包进行排队Netfilter LOG over NFNETLINK interface通过NFNETLINK接口对包记录.该选项废弃了ipt_ULOG和ebg_ulog机制,并打算在将来废弃基于syslog 的ipt_LOG和ip6t_LOG模块Layer 3 Independent Connection tracking独立于第三层的链接跟踪,通过广义化的ip_conntrack支持其它非IP协议的第三层协议Netfilter Xtables support如果你打算使用ip_tables,ip6_tables,arp_tables之一就必须选上"CLASSIFY" target support允许为包设置优先级,一些排队规则(atm,cbq,dsmark,pfifo_fast,htb,prio)需要使用它"CONNMARK" target support类似于"MARK",但影响的是连接标记的值"DSCP" target support允许对ip包头部的DSCP(Differentiated Services Codepoint)字段进行修改,该字段常用于Qos "MARK" target support允许对包进行标记(通常配合ip命令使用),这样就可以改变路由策略或者被其它子系统用来改变其行为"NFQUEUE" target Support用于替代老旧的QUEUE(iptables内建的target之一),因为NFQUEUE能支持最多65535个队列,而QUEUE 只能支持一个"NOTRACK" target support允许规则指定哪些包不进入链接跟踪/NA T子系统"SECMARK" target support允许对包进行安全标记,用于安全子系统"CONNSECMARK" target support针对链接进行安全标记,同时还会将连接上的标记还原到包上(如果链接中的包尚未进行安全标记),通常与SECMARK target联合使用"comment" match support允许你在iptables规则集中加入注释"connbytes" per-connection counter match support允许针对单个连接内部每个方向(进/出)匹配已经传送的字节数/包数"connmark" connection mark match support允许针对每个会话匹配先前由"CONNMARK"设置的标记值"conntrack" connection tracking match support连接跟踪匹配,是"state"的超集,它允许额外的链接跟踪信息,在需要设置一些复杂的规则(比如网关)时很有用"DCCP" protocol match supportDCCP是打算取代UDP的新传输协议,它在UDP的基础上增加了流控和拥塞控制机制,面向实时业务"DSCP" match support允许对IP包头的DSCP字段进行匹配"ESP" match support允许对IPSec包中的ESP头进行匹配,使用IPsec的话就选上吧"helper" match support加载特定协议的连接跟踪辅助模块,由该模块过滤所跟踪的连接类型的包,比如ip_conntrack_ftp模块"length" match support允许对包的长度进行匹配"limit" match support允许根据包的进出速率进行规则匹配,常和"LOG target"配合使用以抵抗某些Dos攻击"mac" address match support允许根据以太网的MAC进行匹配,常用于无线网络环境"mark" match support允许对先前由"MARK"标记的特定标记值进行匹配IPsec "policy" match support使用IPsec就选上吧Multiple port match support允许对TCP或UDP包同时匹配多个端口(通常情况下只能匹配一个端口)"physdev" match support允许对到达的或将要离开的物理桥端口进行匹配"pkttype" packet type match support允许对封包目的地址类别(广播/群播/直播)进行匹配"quota" match support允许对总字节数的限额值进行匹配"realm" match support允许对iptables中的路由子系统中的realm值进行匹配"sctp" protocol match support流控制传输协议(SCTP),十年以后也许能够普及的东西"state" match support这是对包进行分类的有力工具,它允许利用连接跟踪信息对连接中处于特定状态的包进行匹配"statistic" match support允许根据一个给定的百分率对包进行周期性的或随机性的匹配"string" match support允许根据包所承载的数据中包含的特定字符串进行匹配"tcpmss" match support允许根据TCP SYN包头中的MSS(最大分段长度)选项的值进行匹配IP: Netfilter Configuration针对IPv4的Netfilter配置Connection tracking (required for masq/NAT)链接跟踪.可用于报文伪装或地址转换,也可用于增强包过滤能力Connection tracking flow accounting允许针对每个连接记录已经传送的字节/包数,常用于connbytes matchConnection mark tracking support允许对连接进行标记,与针对单独的包进行标记的不同之处在于它是针对连接流的.CONNMARK target和connmark match需要它的支持Connection tracking security mark support允许对连接进行安全标记,通常这些标记包(SECMARK)复制到其所属连接(CONNSECMARK),再从连接复制到其关联的包(SECMARK)Connection tracking events连接跟踪事件支持.如果启用这个选项,连接跟踪代码将提供一个notifier链,它可以被其它内核代码用来获知连接跟踪状态的改变Connection tracking netlink interface支持基于netlink的用户空间接口SCTP protocol connection tracking supportSCTP是IP网面向多媒体通信的新一代的流控制传输协议FTP protocol supportFTP协议IRC protocol supportIRC协议是一种用来实时聊天协议,用过mIRC的人应当不陌生NetBIOS name service protocol supportNetBIOS名字服务协议TFTP protocol supportTFTP是基于UDP的比FTP简单的文件传输协议Amanda backup protocol supportAmanda备份协议PPTP protocol support点对点隧道协议(PPTP)是一种支持多协议虚拟专用网络的网络技术,ADSL用户对它应该很熟悉H.323 protocol supportITU-T提出的用于IP电话的协议SIP protocol supportIETE提出的用于IP电话的协议IP Userspace queueing via NETLINK已废弃IP tables support (required for filtering/masq/NAT)要用iptables就肯定要选上IP range match support允许对ip地址的范围进行匹配TOS match support允许对ip包头的TOS(Type Of Service)字段进行匹配recent match support可以创建一个或多个刚刚使用过的ip地址列表,然后根据这些列表进行匹配ECN match support允许对TCP/IP包头的ECN(Explicit Congestion Notification)字段进行匹配.ECN是一种显式拥塞通知技术,它不但要求路由器支持而且要求端到端主机的支持,其基本思想是当路由器发生早期拥塞时不是丢弃包而是尽量对包进行标记,接收方接到带有ECN提示的包时,通知发送方网络即将发生拥塞,也就是它通过对包的标记提示TCP源即将发生拥塞,从而引发拥塞避免算法AH match support允许对IPSec包头的AH字段进行匹配TTL match support允许对ip包头的TTL(生存期)字段进行匹配Owner match support允许对本地生成的包按照其宿主(user,group,process,session)进行匹配address type match support允许对地址类型(单播,本地,广播)进行匹配hashlimit match support是limit的升级,它基于你选择的ip地址与/或端口动态的创建以limit为桶(bucket)的哈希表.它可以创建诸如"为每个特定的目标IP分配10kpps"或"允许每个特定的源IP分配500pps"之类的规则Packet filtering定义filter表以允许对包进行过滤REJECT target support允许返回一个ICMP错误而不是简单的丢弃包LOG target support允许将符合条件的包头信息通过syslog进行记录ULOG target support透过netlink socket将符合条件的封包交给用户空间的ulogd守护进程.反对使用该选项,因为它已经被NETFILTER_NETLINK_LOG代替TCPMSS target support允许修改TCP包头中的MSS(最大分段长度)选项值Full NAT允许进行伪装/端口转发以及其它的NA T功能,仅在你需要使用iptables中的nat表时才需要选择Packet mangling在iptables中启用mangle表以便对包进行各种修改,常用于改变包的路由raw table support (required for NOTRACK/TRACE)在iptables中添加一个'raw'表,该表在netfilter框架中非常靠前,并在PREROUTING和OUTPUT链上有钩子,从而可以对收到的数据包在连接跟踪前进行处理ARP tables supportARP表支持.只有在局域网中才有ARP欺骗问题,另外路由器也会遭到ARP欺骗ARP packet filteringARP包过滤.对于进入和离开本地的ARP包定义一个filter表,在桥接的情况下还可以应用于被转发ARP包ARP payload mangling允许对ARP包的荷载部分进行修改,比如修改源和目标物理地址IPv6: Netfilter Configuration针对IPv6的Netfilter配置,需要的话可以参考前面IPv4的Netfilter配置进行选择DECnet: Netfilter Configuration针对DECnet的Netfilter配置Bridge: Netfilter Configuration针对桥接的Netfilter配置DCCP Configuration数据报拥塞控制协议在UDP的基础上增加了流控和拥塞控制机制,使数据报协议能够更好地用于流媒体业务的传输SCTP Configuration流控制传输协议是一种新兴的传输层协议.TCP协议一次只能连接一个IP地址而在SCTP协议一次可以连接多个IP地址且可以自动平衡网络负载,一旦某一个IP地址失效会自动将网络负载转移到其他IP地址上TIPC Configuration透明内部进程间通信协议,以共享内存为基础实现任务和资源的调度,专门用于内部集群通信Asynchronous Transfer Mode (ATM)异步传输模式(ATM)支持802.1d Ethernet Bridging802.1d以太网桥802.1Q VLAN Support802.1Q虚拟局域网DECnet SupportDECnet是一种很生僻的协议ANSI/IEEE 802.2 LLC type 2 Support看不懂可以不选The IPX protocolIPX协议Appletalk protocol support与Mac机器通信的协议CCITT X.25 Packet Layer大约没人需要这东西LAPB Data Link Driver大约没人需要这东西Acorn Econet/AUN protocols一种被Acorn计算机使用的又老又慢的协议WAN router广域网路由QoS and/or fair queueing如果你需要Qos或公平队列就选吧Network testing网络测试,仅供调试使用Amateur Radio support业余无线电支持IrDA (infrared) subsystem support红外线支持,比如无线鼠标或无线键盘Bluetooth subsystem support蓝牙支持Generic IEEE 802.11 Networking Stack通用无线局域网(IEEE 802.11系列协议)支持Device Drivers设备驱动程序Generic Driver Options驱动程序通用选项Select only drivers that don't need compile-time external firmware只显示那些不需要内核对外部设备的固件作map支持的驱动程序,除非你有某些怪异硬件,否则请选上Prevent firmware from being built不编译固件.固件一般是随硬件的驱动程序提供的,仅在更新固件的时候才需要重新编译.建议选上Userspace firmware loading support提供某些内核之外的模块需要的用户空间固件加载支持,在内核树之外编译的模块可能需要它Driver Core verbose debug messages让驱动程序核心在系统日志中产生冗长的调试信息,仅供调试Connector - unified userspace <-> kernelspace linker统一的用户空间和内核空间连接器,工作在netlink socket协议的顶层.不确定可以不选Report process events to userspace向用户空间报告进程事件(fork,exec,id变化(uid,gid,suid)Memory Technology Devices (MTD)特殊的存储技术装置,如常用于数码相机或嵌入式系统的闪存卡Parallel port support并口支持(传统的打印机接口)Plug and Play support即插即用支持,若未选则应当在BIOS中关闭"PnP OS".这里的选项与PCI设备无关PnP Debug Messages该选项仅供调试使用ISA Plug and Play supportISA设备即插即用支持Plug and Play BIOS supportLinux 使用"Plug and Play BIOS"规范v1.0A(1994年)中定义的PNPBIOS自动检测主板上的资源和设备,但是其中的某些特性目前尚未实现,比如:事件通知/扩展坞(Docking Station)信息/ISAPNP服务.如果你希望由内核检测主板上的设备并为其分配资源(此时BIOS中的"PnP OS"必须开启)可以选上,此外,PNPBIOS还有助于防止主板上的设备与其他总线设备冲突.不过需要注意的是ACPI将会逐渐取代PNPBIOS(虽然目前两者可以共存),所以如果你的系统不使用ISA设备并且支持ACPI,建议你不要选中该选项并将BIOS中的"PnP OS"关闭Plug and Play BIOS /proc interface该选项仅供调试使用Plug and Play ACPI support让Linux使用PNPACPI自动检测主板上内建的设备并为其分配资源(即使这些设备已被BIOS禁用),它有助于避免设备之间的资源(如中断)冲突Block devices块设备Normal floppy disk support通用软驱支持XT hard disk support古董级产品Parallel port IDE device support通过并口与计算机连接的IDE设备,比如某些老旧的外接光驱或硬盘之类Compaq SMART2 support基于Compaq SMART2控制器的磁盘阵列卡Compaq Smart Array 5xxx support基于Compaq SMART控制器的磁盘阵列卡Mylex DAC960/DAC1100 PCI RAID Controller support古董级产品Micro Memory MM5415 Battery Backed RAM support一种使用电池做后备电源的内存Loopback device supportLoopback是指拿文件来模拟块设备,比如可以将一个iso9660镜像文件挂成一个文件系统Cryptoloop Support使用系统提供的加密API对Loopback设备加密,但不能用于日志型文件系统Network block device support让你的电脑成为网络块设备的客户端Promise SATA SX8 support基于Promise公司的SATA SX8控制器的RAID卡Low Performance USB Block driver它不是用来支持U盘的,不懂的就别选RAM disk support内存中的虚拟磁盘,大小固定(由下面的选项决定,也可给内核传递"ramdisk_size=参数"来决定),它的功能和代码都比shmem简单许多Default number of RAM disks默认RAM disk的数量Default RAM disk size (kbytes)仅在你真正知道它的含义时才允许修改Default RAM disk block size (bytes)每一个RAM disk的默认块大小,设为PAGE_SIZE的值时效率最高Initial RAM filesystem and RAM disk (initramfs/initrd) support如果启动计算机所必须的模块都在内核里的话可以不选此项Packet writing on CD/DVD mediaCD/DVD刻录支持Free buffers for data gathering用于收集写入数据的缓冲区个数(每个占用64Kb内存),缓冲区越多性能越好Enable write caching为CD-R/W设备启用写入缓冲,目前这是一个比较危险的选项ATA over Ethernet support以太网ATA设备支持Misc devices杂项设备ATA/ATAPI/MFM/RLL support通常是IDE硬盘和ATAPI光驱.纯SCSI系统且不使用这些接口可以不选Max IDE interfaces最大IDE接口数,两个IDE插槽一般相当于4个接口Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy supportEIDE支持是当然要选的,否则540MB以上的硬盘都不认识而且不支持主从设备Support for SATA (deprecated; conflicts with libata SATA driver)反对使用,该选项与libata SATA驱动有冲突Use old disk-only driver on primary interface没人用这些古董了Include IDE/ATA-2 DISK supportATA-2支持,除非你的硬盘是古董,否则必选Use multi-mode by default如果不确定就别选,除非出现帮助中指出的错误PCMCIA IDE support通过PCMCIA卡与计算机连接的IDE设备,比如某些外置硬盘或光驱Include IDE/ATAPI CDROM support有IDE光驱的就选Include IDE/ATAPI TAPE support有IDE磁带的就选Include IDE/ATAPI FLOPPY support有IDE软驱的就选SCSI emulation supportSCSI仿真,以前刻录光碟时需要,现在不需要了IDE Taskfile Access对介质进行直接的原始访问,它是一个复杂且有效的测试和校验硬件的方案,可以在驱动层之下执行数据恢复工作generic/default IDE chipset support通用IDE芯片组支持CMD640 chipset bugfix/support586以前的主板上常用,毛病多多PNP EIDE support外接的即插即用EIDE卡支持PCI IDE chipset support基于PCI总线的IDE芯片组支持,帮助IDE驱动自动检测和配置所有基于PCI的IDE接口Sharing PCI IDE interrupts support与其他PCI设备共享中断,一来可能冲突,二来降低性能,不选为妙Boot off-board chipsets first support不使用外接IDE控制器的就别选,使用外接IDE控制器的注意看帮助Generic PCI IDE Chipset Support通用的PCI IDE芯片组支持,如果你的芯片组在下面能找到就别选OPTi 82C621 chipset enhanced supportOPTi 82C621 EIDE控制器RZ1000 chipset bugfix/support486/586年代的玩艺Generic PCI bus-master DMA support通用的PCI总线控制器DMA支持,586以上的系统都支持Force enable legacy 2.0.X HOSTS to use DMA历史遗留问题,别管它,不选Use PCI DMA by default when available默认启用DMA,586以上的系统都支持,建议选择Enable DMA only for disks只对硬盘启用DMA,若你的光驱不支持DMA就选上{此处省略的部分按照自己主板上实际使用的芯片组进行选择}Other IDE chipset support其它IDE芯片组支持(多数需要在引导时指定特定的内核参数),如果你使用这样的芯片组就按实际情况选择子项吧IGNORE word93 Validation BITSATA-4和A TA-5规范中对于如何在80针的数据线上探测解释的不明确,导致了两种不同标准的产品同时出现,这可能导致ATA-66/100降低为A TA-33,若出现这个问题,可以打开这个选项忽略这种不同,但是又有可能导致另外的问题Old hard disk (MFM/RLL/IDE) driver旧版本的MFM/RLL/IDE驱动,不建议使用SCSI device supportSCSI设备RAID Transport Class用于SCSI设备的软件RAID支持,需要配合外部工具SCSI device support有任何SCSI/SATA/USB/光纤/FireWire/IDE-SCSI仿真设备之一就必须选上legacy /proc/scsi/ support一些老的刻录程序可能需要它SCSI disk supportSCSI硬盘或U盘SCSI tape supportSCSI磁带SCSI OnStream SC-x0 tape support另一种SCSI磁带SCSI CDROM supportSCSI CDROMEnable vendor-specific extensions仅在古董级的SCSI CDROM设备上才需要SCSI generic support若有SCSI硬盘/CD-ROM/tape之外的SCSI设备才需要选择SCSI media changer support一种SCSI备份设备Probe all LUNs on each SCSI device在每个SCSI设备上探测逻辑设备数.只在一个SCSI设备上有多个逻辑设备(模拟多个SCSI设备,比如多口读卡器)时才需要选它,一般的SCSI设备不需要Verbose SCSI error reporting以易读的方式报告SCSI错误,内核将会增大12KSCSI logging facility启用SCSI日志(默认并不开启,需要在挂载/proc后执行echo "scsi log token [level]" > /proc/scsi/scsi命令才能打开日志),可用于跟踪和捕获SCSI设备的错误SCSI TransportsSCSI接口类型,下面的子项可以全不选,内核中若有其他部分依赖它,会自动选上Parallel SCSI (SPI) Transport Attributes传统且常见的并行SCSI(Ultra320/160之类)FiberChannel Transport Attributes光纤通道iSCSI Transport AttributesiSCSI是利用TCP/IP网络传送SCSI命令和数据的I/O技术SAS Transport Attributes串行SCSI传输属性支持(SAS对于的关系SPI犹如SATA对于ATA)SAS Domain Transport Attributes为使用了SAS Domain的驱动程序提供帮助Compile the SAS Domain Transport Attributes in debug mode仅供调试使用SCSI low-level drivers底层SCSI驱动程序,按你实际使用的产品选择iSCSI Initiator over TCP/IP用于iSCSI在TCP/IP网络上传播的起动程序{此处省略的部分按照自己实际使用的控制器进行选择,仅用一个例子解说子项}Adaptec AIC79xx U320 support以基于PCI-X的Adaptec Ultra 320 SCSI控制器为例解说子项Maximum number of TCQ commands per device每个SCSI设备的标记指令队列的最大长度(上限253).上限越高性能越好,但是对于SCSI设备较多的系统来说可能造成内存分配失败.此值还可以通过tag_info内核引导参数指定Initial bus reset delay in milli-seconds初始总线reset之后的延时微秒数(默认5000)Enable Read Streaming for All Targets对所有的标记队列启用Read Streaming(可以增强效能,但是在一些Adaptec早期的U320产品上有缺陷),此特性还可以通过rd_strm内核引导参数指定Compile in Debugging Code仅用于调试Debug code enable mask (16383 for all debugging)出错代码的掩码,0表示禁止所有,16383表示打开所有Decode registers during diagnostics将出错代码的解释内容编译进去,这样就不需要查看aic7xxx.reg中的出错代码表以确定出错代码的含意了PCMCIA SCSI adapter support通过PCMCIA卡与计算机连接的SCSI设备Serial ATA and Parallel ATA driversSATA与PATA设备ATA device supportSATA或PATA接口的硬盘或光驱等设备AHCI SATA supportSATA高级主机控制器接口.要使用NCQ功能就必须选中它,另外BIOS中的SATA工作模式亦要选AHCI 模式Generic ATA support基于新的ATA层的通用A TA控制器驱动,仅在你的芯片组在列表中找不到时才需要{此处省略的部分按照自己主板上实际使用的芯片组进行选择}Old CD-ROM drivers (not SCSI, not IDE)老旧的CD-ROM驱动,这种CD-ROM既不使用SCSI接口,也不使用IDE接口Multi-device support (RAID and LVM)多设备支持(RAID和LVM).RAID和LVM的功能是使多个物理设备组建成一个单独的逻辑磁盘RAID support软件RAID(需要使用外部工具),若你有硬件RAID控制器,可以不选Linear (append) mode追加模式(简单的将一个分区追加在另一个分区之后)RAID-0 (striping) modeRAID-0(等量分割)模式RAID-1 (mirroring) modeRAID-1(镜像)模式RAID-10 (mirrored striping) modeRAID 0+1模式RAID-4/RAID-5/RAID-6 mode这些模式比较复杂,一般不用Support adding drives to a raid-5 arrayRAID-5阵列可以通过添加额外的驱动器进行扩展(restriping),这个选项允许在线进行这样的操作,同时要求mdadm的版本大于2.4.1Multipath I/O support多路IO支持是指在服务器和存储设备之间使用冗余的物理路径组件创建"逻辑路径",如果这些组件发生故障并造成路径失败,多路径逻辑将为I/O使用备用路径以使应用程序仍然可以访问其数据Faulty test module for MD用于MD(Multi-device)的缺陷测试模块Device mapper supportDevice-mapper是一个底层的卷管理器,不用LVM就别选了Fusion MPT device supportFusion MPT设备支持IEEE 1394 (FireWire) supportIEEE 1394(火线)I2O device supportI2O(智能IO)设备使用专门的I/O处理器负责中断处理/缓冲存取/数据传输等烦琐任务以减少CPU占用,一般的主板上没这种东西Network device support网络设备Network device support网络设备支持,当然要选啦Intermediate Functional Block support这是一个中间层驱动,可以用来灵活的配置资源共享,看不懂的可以不选Dummy net driver support哑接口网络,使用SLIP或PPP传输协议(如ADSL用户)的需要它。
防火墙和NAT
返回
19.2 NAT的地址概念
19.2.1 内部本地地址 19.2.2 内部全局地址 19.2.3 外部本地地址 19.2.4 外部全局地址 返回 结束
19.2.1 内部本地地址
内部本地地址(Inside Local IP Address)是指在内部网上分配到一 个主机的IP地址。这个地址一般不是由网络信息中心NIC或服务提 供商所分配的合法IP地址,而是私有地址。
返回
19.4 NAT配置实例
19.4.1 实例模型 19.4.2 配置NAT服务器 19.4.3 配置NAT客户端
返回
结束
19.4.1 实例模型
在Linux和Windows环境下配置NAT的实例模型如下。
返回
NAT转换
19.4.2 配置SNAT服务器
Source NAT在数据包送出之前改变数据包的源地址,参数如下: -j SNAT 定义SNAT --to-source 指定转换后的源地址[:port],可以简写成--to [:port],端口,是一个可选项,仅在指明TCP或UDP协议时使用 -o 出口接口(outgoing interface) 举例: 把数据包源地址转换为 1.2.3.4. iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 1.2.3.4
如果单纯使用NAT技术,还会遇到以下方面的安全问题: NAT只对地址进行转换而不进行其他操作,因此,在建立了与外部 网络的连接时,NAT不会阻止任何从外部返回的恶意破坏信息。 虽然NAT隐藏了端到端的IP地址,但并不隐藏主机信息,这一问题 是NAT技术明显的安全隐患。 Internet上的恶意攻击通常针对机器的“公用端口”,如HTTP的80 端口、FTP的21端口和POP的110端口等。虽然NAT可以屏蔽不向外 部网络开放的端口,但针对面向公用端口的攻击,NAT是无能为力 的。
openwrt nat代码-概述说明以及解释
openwrt nat代码-概述说明以及解释1.引言1.1 概述在计算机网络领域中,网络地址转换(Network Address Translation,简称NAT)是一种常见的网络技术,用于解决IP地址不足的问题以及增强网络安全性。
NAT的主要作用是将内部网络中的私有IP地址转换为公共IP地址,从而实现内网与外网之间的通信。
OpenWrt是一个基于Linux的开源操作系统,专注于嵌入式设备和路由器。
作为一个自由、可定制的操作系统,OpenWrt提供了丰富的功能和灵活的配置方式,能够满足各种网络环境的需求。
本文将重点探讨OpenWrt中的NAT实现,包括其概念和原理。
我们将深入了解NAT的工作原理以及在OpenWrt系统中的具体实现方式。
通过研究和分析OpenWrt NAT代码,我们将探讨其设计思路和关键功能,并对未来的发展进行展望。
通过阅读本文,读者将能够更好地理解NAT在网络中的重要性以及在OpenWrt系统中的应用。
同时,本文也将为开发者提供参考,帮助他们更好地理解和使用OpenWrt NAT代码,进一步发展和优化网络技术。
1.2文章结构文章结构部分是文中的一个小节,主要介绍了整篇文章的组织结构和内容安排。
下面是一个可能的编写内容:1.2 文章结构本文将按照以下结构进行组织:1. 引言:介绍文章的背景和目的,概述NAT的重要性以及OpenWrt NAT代码的意义。
2. 正文:2.1 NAT的概念和原理:详细介绍NAT的定义、工作原理和作用,包括地址转换、端口转换等内容。
2.2 OpenWrt中的NAT实现:讨论OpenWrt操作系统中NAT 的具体实现方式和相关代码的结构和功能。
3. 结论:3.1 总结NAT的重要性:总结NAT在网络通信中的作用和意义,强调其对于网络安全和资源有效利用的贡献。
3.2 对OpenWrt NAT代码的展望:探讨OpenWrt NAT代码的局限性和可改进之处,提出对未来开发的建议和展望。
linux nat实现方式
linux nat实现方式在Linux系统中,Network Address Translation(网络地址转换)是一种常用的网络技术,它允许将内部网络中的私有IP地址与外部网络中的公有IP地址进行映射。
通过NAT,内部网络中的主机可以与外部网络进行通信,而外部网络无法直接访问内部网络中的主机。
实现NAT的方式有多种,其中一种常见的方式是使用iptables命令。
iptables是Linux系统中的一个工具集,用于配置Linux内核的网络层防火墙规则。
要实现NAT,首先需要配置iptables的转发规则。
可以通过以下命令来配置转发规则:```iptables -t nat -A POSTROUTING -o 外部网络接口 -j MASQUERADE```其中,外部网络接口指的是连接到外部网络的网络接口,例如eth0。
这条规则的作用是将从内部网络发出的数据包的源IP地址替换为外部网络接口的IP地址,从而实现地址转换。
除了配置转发规则,还需要配置iptables的过滤规则,以允许内部网络中的主机与外部网络进行通信。
可以使用以下命令来配置过滤规则:```iptables -A FORWARD -i 内部网络接口 -o 外部网络接口 -j ACCEPT iptables -A FORWARD -i 外部网络接口-o 内部网络接口-m state --state RELATED,ESTABLISHED -j ACCEPT```其中,内部网络接口指的是连接到内部网络的网络接口,例如eth1。
第一条规则的作用是允许从内部网络到外部网络的数据包通过,第二条规则的作用是允许从外部网络到内部网络的已建立或相关的数据包通过。
在配置完iptables规则后,还需要开启IP转发功能,以使Linux系统能够实现NAT。
可以通过修改/sys文件系统中的配置文件来开启IP转发功能:```echo 1 > /proc/sys/net/ipv4/ip_forward```这样,就完成了Linux系统中NAT的实现。
Linux命令高级技巧使用iptables进行端口转发和NAT
Linux命令高级技巧使用iptables进行端口转发和NAT在Linux系统中,iptables是一个非常强大的工具,用于配置和管理网络包过滤规则。
除了基本的网络包过滤功能,iptables还可以用于端口转发和网络地址转换(NAT)。
本文将介绍如何使用iptables进行端口转发和NAT,以及一些高级技巧。
1. 端口转发端口转发是一种将网络流量从一个端口转发到另一个端口的技术。
它在网络中广泛应用于代理服务器、端口映射、负载均衡等场景。
下面是使用iptables进行端口转发的示例命令:```iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 192.168.0.100:80```在上述命令中,`-t nat`表示我们要操作的是`nat`表,`-A PREROUTING`表示将规则添加到`PREROUTING`链中,`-p tcp --dport 8080`表示匹配TCP协议和目标端口号8080,`-j DNAT`表示采取目标网络地址转换,`--to-destination 192.168.0.100:80`表示将数据包转发到目标IP地址192.168.0.100的80端口。
2. 网络地址转换(NAT)网络地址转换(NAT)是一种将私有网络中的IP地址转换为公共网络中的IP地址的技术。
它广泛应用于家庭网络和企业网络中,允许多台设备共享一个公共IP地址。
下面是使用iptables进行NAT的示例命令:```iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE```在上述命令中,`-t nat`表示我们要操作的是`nat`表,`-A POSTROUTING`表示将规则添加到`POSTROUTING`链中,`-s192.168.0.0/24`表示源IP地址为192.168.0.0/24的网络,`-o eth0`表示出去的网络接口为eth0,`-j MASQUERADE`表示使用动态地址转换。
Linux iptables防火墙设置与NAT服务配置
Linux iptables防火墙设置与NAT服务配置摘要:linux教程,NAT服务器,iptables防火墙设置与NAT服务配置, 防火墙是指设置在不同网络或网络安全域之间的一系列部件的组合,它能增强机构内部网络的安全性。
一.防火墙的概述(一).防火墙的简介防火墙是指设置在不同网络或网络安全域之间的一系列部件的组合,它能增强机构内部网络的安全性。
它通过访问控制机制,确定哪些内部服务允许外部访问,以及允许哪些外部请求可以访问内部服务。
它可以根据网络传输的类型决定IP包是否可以传进或传出内部网。
防火墙通过审查经过的每一个数据包,判断它是否有相匹配的过滤规则,根据规则的先后顺序进行一一比较,直到满足其中的一条规则为止,然后依据控制机制做出相应的动作。
如果都不满足,则将数据包丢弃,从而保护网络的安全。
通过使用防火墙可以实现以下功能:可以保护易受攻击的服务;控制内外网之间网络系统的访问;集中管理内网的安全性,降低管理成本;提高网络的保密性和私有性;记录网络的使用状态,为安全规划和网络维护提供依据。
(二).防火墙的分类防火墙技术根据防范的方式和侧重点的不同而分为很多种类型,但总体来讲可分为包过滤防火墙和代理服务器两种类型。
(三).防火墙的工作原理1.包过滤防火墙工作原理①数据包从外网传送到防火墙后,防火墙抢在IP层向TCP层传送前,将数据包转发给包检查模块进行处理。
②首先与第一个过滤规则比较。
③如果与第一个模块相同,则对它进行审核,判断是否转发该数据包,这时审核结果是转发数据包,则将数据包发送到TCP层进行处理,否则就将它丢弃。
④如果与第一个过滤规则不同,则接着与第二个规则相比较,如果相同则对它进行审核,过程与③相同。
⑤如果与第二个过滤规则不同,则继续与下一个过滤规则比较,直到与所有过滤规则比较完成。
要是所有过滤规则都不满足,就将数据包丢弃。
2.代理服务型防火墙工作原理代理服务型防火墙是在应用层上实现防火墙功能的。
高级技巧使用iptables进行端口转发与NAT配置
高级技巧使用iptables进行端口转发与NAT配置使用iptables进行端口转发与NAT配置是网络管理中常见的高级技巧。
本文将介绍iptables的基本概念和配置方法,并详细讲解如何使用iptables进行端口转发和NAT配置。
一、iptables概述iptables是Linux操作系统中用于管理网络数据包的工具。
它可以根据预设的规则对进出的数据包进行过滤、修改和重定向等操作。
iptables使用规则链(rule chain)来组织规则,并根据规则链的顺序逐一检查数据包。
根据规则链的配置不同,iptables可以实现防火墙、端口转发和网络地址转换(NAT)等功能。
二、端口转发端口转发是指将网络数据包从一个端口转发到另一个端口。
使用iptables进行端口转发时,首先需要开启网络包转发功能,命令如下:```echo 1 > /proc/sys/net/ipv4/ip_forward```接下来,使用iptables设置端口转发规则,命令如下:```iptables -t nat -A PREROUTING -p tcp --dport 源端口 -j DNAT --to-destination 目标IP:目标端口```其中,-t nat表示使用nat表,-A PREROUTING表示在数据包进入路由之前进行转发,-p tcp表示转发TCP协议的数据包,--dport指定源端口,-j DNAT表示进行目标地址转换,--to-destination指定目标IP和端口。
三、NAT配置NAT配置是指将私有网络中的IP地址转换为公网IP地址,使内部网络可以访问外部网络。
使用iptables进行NAT配置时,需要开启网络地址转换功能,命令如下:```echo 1 > /proc/sys/net/ipv4/ip_forward```然后,设置NAT规则,命令如下:```iptables -t nat -A POSTROUTING -s 内网IP/子网掩码 -j SNAT --to-source 公网IP```其中,-t nat表示使用nat表,-A POSTROUTING表示在数据包离开网关之前进行转发,-s指定源IP地址范围,-j SNAT表示进行源地址转换,--to-source指定公网IP。
Linux系统网络配置教程
Linux系统网络配置教程一、引言在现代信息技术时代,网络已经成为我们生活和工作中不可或缺的一部分。
而对于使用Linux操作系统的用户来说,正确配置网络是十分重要的。
本章将介绍Linux系统网络配置的基本步骤和常见问题解决方法。
二、网络配置概述网络配置是指将计算机与网络相连,并配置正确的网络参数,以实现与其他计算机之间的通信。
Linux系统的网络配置可分为两个方面,即物理连接和逻辑配置。
2.1 物理连接物理连接是指将计算机与网络相连的操作。
首先要确保计算机已经正确连接到局域网或因特网。
如果是有线连接,需要插入以太网线到计算机的网卡插槽和路由器的网络接口;如果是无线连接,需要确保无线网卡已经连接到正确的无线网络。
2.2 逻辑配置逻辑配置是指在物理连接完成后,需要对计算机进行相应的软件设置,以使其能够正确地与其他网络设备进行通信。
逻辑配置的主要内容包括IP地址的配置、网关的配置、DNS的配置以及防火墙的配置等。
三、IP地址配置IP地址是互联网中用于标识和定位计算机的一种地址。
在Linux系统中,可以通过以下两种方式来配置IP地址:3.1 动态IP地址配置动态IP地址配置是指使用DHCP服务器为计算机分配IP地址的方式。
DHCP是一种网络协议,它可以自动为计算机分配IP地址和其他网络配置信息。
要使用动态IP地址配置,在终端中输入以下命令:```shellsudo dhclient eth0```其中,eth0是计算机的网卡接口名,根据实际情况进行相应更改。
3.2 静态IP地址配置静态IP地址配置是指手动为计算机分配一个固定的IP地址。
这种方式适用于需要长期使用特定IP地址的情况。
要进行静态IP 地址配置,需要编辑网络配置文件。
在终端中输入以下命令:```shellsudo nano /etc/network/interfaces```在文件中添加以下配置信息:```shellauto eth0iface eth0 inet staticaddress 192.168.0.100netmask 255.255.255.0gateway 192.168.0.1```其中,eth0是计算机的网卡接口名,address是计算机的IP地址,netmask是子网掩码,gateway是网关地址。
Linux内核配置
Linux内核配置系统1.配置系统的基本结构Linux内核的配置系统由三个部分组成,分别是:1.Makefile:分布在 Linux 内核源代码中的 Makefile,定义 Linux 内核的编译规则;2.配置文件(config.in):给用户提供配置选择的功能;3.配置工具:包括配置命令解释器(对配置脚本中使用的配置命令进行解释)和配置用户界面(提供基于字符界面、基于 Ncurses 图形界面以及基于Xwindows 图形界面的用户配置界面,各自对应于 Make config、Makemenuconfig 和 make xconfig)。
这些配置工具都是使用脚本语言,如 Tcl/TK、Perl 编写的(也包含一些用 C 编写的代码)。
本文并不是对配置系统本身进行分析,而是介绍如何使用配置系统。
所以,除非是配置系统的维护者,一般的内核开发者无须了解它们的原理,只需要知道如何编写 Makefile 和配置文件就可以。
所以,在本文中,我们只对Makefile 和配置文件进行讨论。
另外,凡是涉及到与具体 CPU 体系结构相关的内容,我们都以 ARM 为例,这样不仅可以将讨论的问题明确化,而且对内容本身不产生影响。
2. Makefile2.1 Makefile 概述Makefile 的作用是根据配置的情况,构造出需要编译的源文件列表,然后分别编译,并把目标代码链接到一起,最终形成 Linux 内核二进制文件。
由于 Linux 内核源代码是按照树形结构组织的,所以 Makefile 也被分布在目录树中。
Linux 内核中的 Makefile 以及与 Makefile 直接相关的文件有:1.Makefile:顶层 Makefile,是整个内核配置、编译的总体控制文件。
2..config:内核配置文件,包含由用户选择的配置选项,用来存放内核配置后的结果(如 make config)。
3.arch/*/Makefile:位于各种 CPU 体系目录下的 Makefile,如arch/arm/Makefile,是针对特定平台的 Makefile。
全面了解 Linux 网络配置
全面了解 Linux 网络配置随着互联网的发展,计算机网络已成为当今社会必不可少的一部分。
而作为计算机操作系统的一种,Linux也不例外。
对于Linux服务器来说,网络配置是一个必不可少的部分,它涉及到网络通信,因此对于Linux用户和系统管理员来说,了解和掌握Linux网络配置非常重要。
接下来,我们将深入了解全面的Linux网络配置。
Linux网络配置组成在掌握Linux网络配置之前,先了解下Linux网络配置的组成。
Linux网络配置主要由以下三部分构成:物理设备:包括网卡、网线、交换机等。
物理设备通常指计算机、服务器通讯的硬件设施。
网络协议:网络协议是指计算机通讯规定的一组规则,它定义了计算机间如何交换信息、控制信息传输速度、欠载适应等各方面的事项。
网络服务:网络服务是指提供特定功能的一组程序,如Web服务器、邮件服务器、FTP服务器等。
以上三部分构成了Linux网络配置的基本构成要素。
Linux网络配置的文件结构在深入了解Linux网络配置时,必须要知道Linux网络配置的文件结构。
Linux网络配置的主要配置文件是在/etc目录下的。
常见的如:/etc/sysconfig/network-scripts/ifcfg-eth0:这个文件是Linux下网卡配置文件,其中ifcfg-eth0是指网卡eth0的属性配置。
/etc/resolv.conf:该文件主要用于DNS服务器设置。
/etc/hosts:该文件是Linux下的本地DNS解析文件,主要用于域名解析的映射。
/etc/hosts.allow:用于对网络服务器的访问进行设置。
/etc/hosts.deny:该文件主要是对不允许访问的服务器进行设置。
通过以上文件我们可以使用vim、vi等编辑器修改里面的内容。
Linux网络配置的参数介绍现在我们初步了解了Linux网络配置的基本组成部分,再来深入了解一下Linux网络配置的参数。
这些参数在我们进行Linux网络配置时,尤其是在配置网卡时是比较常用的。
Linux lvs—nat模式
Linux lvs—NAT模式试验拓扑:试验步骤:第一步:配置ip地址与网关等相应信息,其中real-server-1与real-server-2的网关均为192.168.2.1。
然后重新启动network服务。
然后把net.ipv4.ip_forward = 0改成等于1[root@zhangc ~]#echo "net.ipv4.ip_forward = 1" >>/etc/sysctl.conf[root@zhangc ~]#sysctl–p 使它立即生效Director:Real-server-1Real-server-2第二步:配置Director,在director中配置yum,并安装ipvsadm服务[root@zhangc ~]# mount /dev/cdrom /media[root@zhangc ~]#cd /media/CentOS[root@zhangcCentOS]#rpm –ivhipvsadm[root@zhangc ~]# ipvsadm -A -t 10.164.28.110:80 -s rr【-A表示追加,-t表示使用tcp协议,-s表示使用算法,rr表示轮询算法】[root@zhangc ~]# ipvsadm -a -t 10.164.28.110:80 -r 192.168.100.110 –m【-a表示添加条目,-r表示realserver –m表示使用nat模式】[root@zhangc ~]# ipvsadm -a -t 10.164.28.110:80 -r 192.168.100.120 –m[root@zhangc ~]# serviceipvsadm save[root@zhangc ~]# serviceipvsadmrestart第三步:配置real-server-1,安装apache服务,创建简单静态页面,进行测试。
linux nat实现方式
linux nat实现方式标题:Linux NAT实现方式引言:在计算机网络中,网络地址转换(Network Address Translation,NAT)是一种常见的网络技术,用于将私有IP地址与公共IP地址进行转换,以实现局域网内主机与外部网络的通信。
本文将介绍Linux下实现NAT的几种方式,以及它们的优缺点。
一、IPTables NAT1. IPTables是Linux上常用的防火墙工具,它可以通过配置NAT规则实现地址转换。
在IPTables中,可以使用以下命令开启NAT功能: iptables -t nat -A POSTROUTING -o <外网接口> -j MASQUERADE这条规则将对通过外网接口出去的数据包进行源地址伪装,使得回应数据包能够正确返回。
2. IPTables NAT的优点是简单易用,且性能较高。
它可以根据需要配置不同的转换规则,具有较强的灵活性。
3. 然而,IPTables NAT也存在一些缺点。
例如,它只能在内核层面进行地址转换,无法处理应用层的协议。
此外,配置复杂的NAT规则可能会导致性能下降。
二、IPFWADM NAT1. IPFWADM是Linux早期版本中使用的一种防火墙工具,它也支持NAT功能。
在IPFWADM中,可以使用以下命令开启NAT功能:ipfwadm -F -p masq -a2. IPFWADM NAT的优点是配置简单,适合于一些简单的场景。
它的性能也相对较好,适合于低负载环境。
3. 然而,IPFWADM NAT已经逐渐被IPTables所取代,使用较少,功能相对有限。
三、NAT Network Namespace1. Network Namespace是Linux内核提供的一种机制,可以将网络资源隔离在不同的命名空间中。
通过创建多个Network Namespace,并配置相应的NAT规则,可以实现不同命名空间之间的地址转换。
思科交换机NAT配置介绍及实例
思科交换机NAT配置介绍及实例CISCONAT配置一、NAT简介NAT(Network Address Translation)的功能,就是指在一个网络内部,根据需要可以随意自定义的IP地址,而不需要经过申请。
在网络内部,各计算机间通过内部的IP地址进行通讯。
而当内部的计算机要与外部internet网络进行通讯时,具有NAT功能的设备(比如:路由器)负责将其内部的IP地址转换为合法的IP地址(即经过申请的IP地址)进行通信。
二、NAT 的应用环境:情况1:一个企业不想让外部网络用户知道自己的网络内部结构,可以通过NAT将内部网络与外部Internet 隔离开,则外部用户根本不知道通过NAT设置的内部IP地址。
情况2:一个企业申请的合法Internet IP地址很少,而内部网络用户很多。
可以通过NAT 功能实现多个用户同时公用一个合法IP与外部Internet 进行通信。
三、设置NAT所需路由器的硬件配置和软件配置:设置NAT功能的路由器至少要有一个内部端口(Inside),一个外部端口(Outside)。
内部端口连接的网络用户使用的是内部IP地址。
内部端口可以为任意一个路由器端口。
外部端口连接的是外部的网络,如Internet 。
外部端口可以为路由器上的任意端口。
设置NAT功能的路由器的IOS应支持NAT功能(本文事例所用路由器为Cisco2501,其IOS为11.2版本以上支持NAT功能)。
四、关于NAT的几个概念:内部本地地址(Inside local address):分配给内部网络中的计算机的内部IP地址。
内部合法地址(Inside global address):对外进入IP通信时,代表一个或多个内部本地地址的合法IP地址。
需要申请才可取得的IP地址。
五、NAT的设置方法:NAT设置可以分为静态地址转换、动态地址转换、复用动态地址转换。
1、静态地址转换适用的环境静态地址转换将内部本地地址与内部合法地址进行一对一的转换,且需要指定和哪个合法地址进行转换。
linux下NAT配置详解
linux下NAT配置详解linux下NAT配置详解(2007-03-30 23:00)Linux下NAT配置详解一,配置前的准备:1,Linux版本:我的是(企业版,至于红帽9已经不能得到升级和技术支持,所以现在都用企业版。
):[root@tpwb /]# uname -r2.6.9-34.EL(版本内核)2,IPTABLES版本:[root@tpwb ~]# iptables -viptables v1.2.11: no command specifiedTry `iptables -h' or 'iptables --help' for more information.如果没有安装,安装一下,在次我不讲如何安装IPTABLS,3,远程软件SecureCRT5,去百度搜索一下多的事。
也可以从我网吧的网页下载。
4,命令术语的了解:要用到的命令:iptables,vi,route,cat,echo,reboot,ntsysv.5,相关术语:什么是NAT,及工作原理.linux下IPTABLES防火墙的基本了解,配置.二,开始配置配置NAT采用双网卡(也可用单网卡,但不推荐),如何配置网卡ip,看我的另一篇文章:/u/30548/showart.php?id=244176下面看一下我的网卡IP配置情况[root@tpwb network-scripts]# cat ifcfg-eth0DEVICE=eth0BOOTPROTO=staticBROADCAST=211.101.46.255HWADDR=4C:00:10:59:6B:20IPADDR=211.101.46.251NETMASK=255.255.255.0NETWORK=211.101.46.0ONBOOT=yesTYPE=Ethernet[root@tpwb network-scripts]# cat ifcfg-eth1DEVICE=eth1ONBOOT=yesBOOTPROTO=staticIPADDR=192.168.1.1NETMASK=255.255.255.0HWADDR=4C:00:10:10:03:55我才用的是固定IP,外网IP:211.101.46.251内网IP是:192.168.1.1在来看一下DNS和网关[root@tpwb ~]# cat /etc/resolv.confnameserver 192.168.1.1 内网DNS地址nameserver 202.106.0.20 外网DNS地址[root@tpwb /]# vi /etc/sysconfig/networkNETWORKING=yesHOSTNAME=tpwbGATEWAY=211.101.46.1 你的网关(211.101.46.251的网关)[root@tpwb sysconfig]# routeKernel IP routing tableDestination Gateway Genmask Flags Metric Ref Use Iface211.101.46.0 * 255.255.255.0 U 00 0 eth0192.168.1.0 * 255.255.255.0 U 00 0 eth1169.254.0.0 * 255.255.0.0 U0 0 0 eth1default 211.101.46.1 0.0.0.0 UG 0 0 0eth0保证default是 211.101.46.1下面我们要确定一下DNS是否安装,为要DNS呢?其实也可以不要,但这里有个问题,有人在设置DNS时,设置成192.168.1.1 IPTABLES配置没有问题,其他也没有问题,就是上不了网!!其实就是因为DNS配置成192.168.1.1了,你该成202.106.0.20就好了,就不能该成192.168.1.1了吗!当然不是你只要安装DNS,并且把它开启就可以了!!!也有人说要配置caching-only dns,但经过我实验,不配置也可以![root@tpwb ~]# service named restart停止 named:启动named:[ 确定 ]好到现在前期准备工作差不多了!我的是固定IP地址,所以输入[root@tpwb ~]#iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT --to 211.101.46.251你对照着写就行了不同之处可能会在,eth0(外网接口)看是否和你一样,还有IP地址,私网IP(192.168.1.0/24)和公网IP地址(211.101.46.251)工作原理我就不说了,自己去找资料看看吧!!现在在客户端配置好ip地址和网关,dns如:ip地址:192.168.1.2子网掩码:255.255.255.0网关:192.168.1.1DNS:192.168.1.1然后ping一下192.168.1.1看能否ping通.在ping 211.101.46.1 看能否ping通不能对吧!还要打开ip转发功能.[root@tpwb ~]#echo 1 > /proc/sys/net/ipv4/ip_forward在ping一次,ok 了看看能不能上网,不能,还差一点!就是IPTABLES设置[root@tpwb ~]#iptables -A OUTPUT -p tcp --dport 53 -j ACCEPT [root@tpwb ~]#iptables -A OUTPUT -p udp --dport 53 -j ACCEPT 允许DNS服务端口的tcp,udp数据包流出在试一次,好了吧!如果想让所有的配置重起后依然起作用呢,好继续1,要把IPTABLES的配置保存.[root@tpwb ~]#/etc/rc.d/init.d/iptables save2, [root@tpwb rc.d]# vi /etc/rc.d/rc.local#!/bin/sh## This script will be executed *after* all the other init scripts.# You can put your own initialization stuff in here if you don't# want to do the full Sys V style init stuff.touch /var/lock/subsys/localecho 1 > /proc/sys/net/ipv4/ip_forward 看这一行,是添加的! ~~保存,退出.3,[root@tpwb ~]# ntsysvntsysv 1.3.13.3 - (C) 2000-2001 Red Hat, Inc.lqqqqqqqqqqqqu 服务tqqqqqqqqqqqqkx xx 您想自动启动哪些服务?xx xx [ ] FreeWnn # xx [ ] NetworkManager a xx [*] acpid a xx [ ] amanda a xx [ ] amandaidx a xx [ ] amd a xx [ ] amidxtape a xx [*] anacron a xx xx lqqqqqqk lqqqqqqk xx x 确定x x 取消x xx mqqqqqqj mqqqqqqj xx xx xmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj按<F1> 可获取关于某项服务的详情。
Linux1 防火墙 iptables防火墙NAT简介及配置
Linux1 防火墙iptables防火墙NAT简介及配置防火墙可分为几种不同的安全等级。
在Linux中,由于有许多不同的防火墙软件可供选择,安全性可低可高,最复杂的软件可提供几乎无法渗透的保护能力。
不过,Linux核心本身内建了一种称作"伪装"的简单机制NAT(网络地址转换),除了可以抵挡住绝大部分的攻击行动,还可以抵挡专门的黑客攻击。
1.NAT简介NA T(网络地址装换)可以让那些使用私有地址的内部网络连接到Internet或其它IP网络上。
NAT路由器在将内部网络的数据包发送到公用网络时,在IP包的报头把私有地址转换成合法的IP地址。
2.NAT的工作原理:当内部网络中的一台主机想传输数据到外部网络时,其先将数据包传输到iptables服务器上,服务器检查数据包的报头,获取该数据包的源IP信息,并从它的NA T映射表中找出与该IP匹配的转换条目,用所选用的内部全局地址来替换内部局部地址,并转发数据包。
当外部网络对内部主机进行应答时,数据包被送到iptables服务器上,服务器接收到目的地址为内部全局地址的数据包后,它将用内部全局地址通过NA T映射表查找出内部局部地址,然后将数据包的目的地址替换成内部局部地址,并将数据包转发到内部主机。
提示内部局部地址:在内部网络中分配给主机的私有IP地址。
内部全局地址:一个合法的IP地址,它对外代表一个或多个内部局部IP地址。
外部全局地址:由其所有者给外部网络上的主机分配的IP地址。
外部局部地址:外部主机在内部网络中表现出来的IP地址。
3.使用iptables配置NAT●NAT表需要的3个链PREROUTING可以在这里定义进行目的NA T的规则,因为路由器进行路由时只检查数据包的目的ip地址,所以为了使数据包得以正确路由,我们必须在路由之前就进行目的NAT。
POSTROUTING可以在这里定义进行源NA T的规则,系统在决定了数据包的路由以后在执行该链中的规则。
用centOS实现路由器、DHCP、防火墙及NAT功能
将centOS变成路由服务器众所周知,linux最强大的功能就是网络功能,但是学习linux 却不仅仅是为了搭建服务器,鉴于linux是一套非常稳定的操作系统,用linux搭建各种服务器是不二的选择。
下面针对三种不同的上网环境,详细介绍一下在centOS 6.5上搭建一个路由服务器。
实验一:Linux为静态IP实验环境示意图AP图1 实验一环境Step 1:配置linux网卡参数本实验环境使用的linux硬件环境有两块网卡,分别为eth0和eth1。
默认情况下,将eth0设为WAN口,将eth1设为LAN口,本实验也是如此。
配置eth0和eth1有两种方式:一是可以编辑配置文件,二是直接可以利用图形界面对其进行配置。
建议使用第一种,因为好多linux是没有X Window界面的。
WAN口(eth0)配置如下:MAC地址XX:XX:6F:1E:XX:XXIP地址192.168.X.XXX子网掩码255.255.255.0默认网关192.168.0.254DNS:X.X.X.X, 8.8.8.8LAN口(eth1)配置如下:IP地址192.168.1.1子网掩码255.255.255.0下面以配置eth0为例。
打开终端,获得root权限之后,输入命令:vim /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0TYPE=EthernetUUID=XXX…ONBOOT=yesNM_CONTROLLED=yes (NM_CONTROLLED是network manger 的参数,实时生效,修改后无需要重启网卡立即生效)BOOTPROTO=noneHWADDR=xxx…(网卡本身的硬件地址)MACADDR= XX:XX:6F:1E:XX:XXIPADDR=192.168.0.203PREFIX=24(此语句可用‘NETMASK=255.255.255.0’替换)GATEWAY=192.168.0.254DNS1=X.X.X.XDNS2=8.8.8.8DEFROUTE=yesIPV4_FAILURE_FATAL=yesIPV6INIT=noNAME=”System eth0”配置eth1时只需要将其IP地址设为192.168.1.1或者非eth0网段地址,其他不用配置。
虚拟机linux NAT方式上网图文详解
虚拟机linux NAT方式上网图文详解虚拟机linux下NAT上网方式跟windows下是不一样的,windows系统只要直接选择NAT上网方式即可,不需要其它配置,而linux要想用NAT方式上网需进行另外的设置。
下面的图文教程,我觉得还是比较精典的,思路非常清晰,希望对刚接触linux的朋友有所帮助。
点虚拟机菜单: 编辑---编辑虚拟网络然后选择NAT这一选项卡。
查看本地ip 地址方法: 开始----运行--cmd 输入: ipconfig /allVMware提供:桥接,Host Only和NAT三种连网方式. 我个人认为NAT方式较简单,用他来共享主机的IP,适合那种每台主机只允许一个IP的情况。
具体配置如下:1、VMware网络连接选择的是NAT方式。
2、VMware网络配置里的NAT项中查看VMnet8,NAT的网关配置为192.168.X.2。
3、在windows中,查看任何的网络连接,您应该发现除了原有的网卡之外,又多了Vmnet1和Vmnet8。
vmnet1是hostonly的接口,而Vmnet8是就是我们要使用的NAT的网络接口。
4、在windows主机上用ipconfig查看VMnet8的IP地址,一般是192.168.X.1。
此时VMnet8的配置应该是自动获取IP,现在改成静态IP,并把此IP直接填入VMnet8里,不设网关。
6、在linux下把网卡IP配置成和VMnet8一个网段的IP (192.168.X.Z/255.255.255.0)7、在linux下网关配置成刚才查看的那个IP192.168.X.2即可。
8、在linux下DNS和windows主机的相同。
9、在linux下运行命令service network restart重新启动linux 的网络服务。
10、在linux下ping 192.168.x.1,在windows下ping 192.168.x.z 成功后证实主机和虚拟机已能够互相访问了,现在也能够实现虚拟机共享主机ip上网了。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.开启ipv4转发
方法1:把etc/sysctl.conf中的net.ipv4.ip.forward=0后面的0改为1(长期有效)
方法2:输入:echo1>/proc/sys/net/ipv4/ip_forward(短期有效,重启后需重新配置)
2.配置nat表(假设要在接口eth0上开启SNAT功能,eth0的ip为192.168.1.34)
2.1匹配源ip
iptables-t nat-A POSTROUTING-s192.168.10.54-o eth0-j SNAT--to192.168.1.34
功能:匹配eth0接口上源ip为192.168.10.54的报文,对其进行nat映射,将源ip替换为192.168.1.34
2.2匹配源网段
iptables-t nat-A POSTROUTING-s192.168.10.54/24-o eth0-j SNAT--to192.168.1.34功能:匹配eth0接口上源网段192.168.10.54/24的报文,对其进行nat映射,将源ip替换为192.168.1.34
2.3匹配源端口
iptables-t nat-A POSTROUTING-p udp--dport53-o eth0-j SNAT--to192.168.1.34
功能:匹配eth0接口上目的端口为53的udp报文,对其进行nat映射,将源ip替换为192.168.1.34
iptables-t nat-A POSTROUTING-p tcp--dport53-o eth0-j SNAT--to192.168.1.34
功能:匹配eth0接口上目的端口为53的tcp报文,对其进行nat映射,将源ip替换为192.168.1.34
2.4匹配源端口+源ip
iptables-t nat-A POSTROUTING-s192.168.10.54-p udp--dport53-o eth0-j SNAT--to 192.168.1.34
功能:匹配eth0接口上目的端口为53、源ip为192.168.10.54的udp报文,对其进行nat 映射,将源ip替换为192.168.1.34
iptables-t nat-A POSTROUTING-s192.168.10.54-p tcp--dport53-o eth0-j SNAT--to 192.168.1.34
功能:匹配eth0接口上目的端口为53、源ip为192.168.10.54的tcp报文,对其进行nat 映射,将源ip替换为192.168.1.34
2.5匹配DNAT
iptables-t nat-A PREROUTING-i eth1-d!192.168.100.1-p udp--dport!53-j DNAT--to 192.168.100.1
功能:将目的ip不是192.168.100.1且目的端口不是53的报文做NAT,目的ip替换为192.168.100.1
3.查看nat规则
iptables-t nat-L
4.删除nat规则
4.1删除一条nat规则
iptables-t nat-D POSTROUTING-s192.168.1.54-o eth0-j SNAT--to192.168.1.34
4.2删除所有nat规则
iptables-t nat-F
5.NAT表说明
nat表的三个链:
1.PREROUTING:定义进行DNAT的规则,因为路由器进行路由时只检查数据包的目的ip 地址,所以为了使数据包得以正确路由,我们必须在路由之前就进行DNAT;
2.POSTROUTING:定义进行SNAT的规则,系统在决定了数据包的路由以后在执行该链中的规则。
3.OUTPUT:定义对本地产生的数据包的DNAT规则。