linux防火墙iptables配置(Linux下多网段Nat实现与应用)

合集下载

Linux命令高级技巧使用iptables命令进行防火墙配置

Linux命令高级技巧使用iptables命令进行防火墙配置

Linux命令高级技巧使用iptables命令进行防火墙配置Linux系统中,iptables是一个非常常用的命令,用于配置Linux操作系统的防火墙规则。

掌握iptables的高级技巧,可以帮助我们更好地保护系统安全和网络通信。

本文将介绍使用iptables命令进行防火墙配置的一些高级技巧,以帮助读者更好地理解和运用这个强大的工具。

一、什么是iptables命令iptables是一个在Linux内核中实现的防火墙工具,用于管理网络通信规则。

它允许我们定义输入、输出和转发数据包的规则,从而控制网络流量。

使用iptables命令,我们可以过滤和转发数据包,以及进行网络地址转换和端口转发等操作。

二、iptables配置文件在开始使用iptables命令之前,了解iptables的配置文件将有助于更好地理解和调整防火墙规则。

iptables的配置文件位于"/etc/sysconfig/iptables"路径下,可以使用文本编辑器打开进行编辑。

三、基本的iptables规则1. 允许特定IP地址访问若想允许特定IP地址访问服务器的某个端口,可以使用如下命令:```iptables -A INPUT -p tcp -s IP地址 --dport 端口号 -j ACCEPT```例如,若要允许IP地址为192.168.1.100的主机访问SSH端口(22),可以使用以下命令:```iptables -A INPUT -p tcp -s 192.168.1.100 --dport 22 -j ACCEPT```2. 允许特定IP地址范围访问如果要允许一个IP地址范围访问特定端口,可以通过指定源IP范围来实现。

例如,要允许192.168.1.0/24子网段中的主机访问SSH端口,可以执行如下命令:```iptables -A INPUT -p tcp -s 192.168.1.0/24 --dport 22 -j ACCEPT```此规则将允许192.168.1.0/24网段中的所有主机访问SSH端口。

Linux命令高级技巧使用iptables和ipset进行高级网络防火墙配置

Linux命令高级技巧使用iptables和ipset进行高级网络防火墙配置

Linux命令高级技巧使用iptables和ipset进行高级网络防火墙配置在网络安全领域,配置高级网络防火墙是至关重要的。

Linux操作系统提供了一些强大的工具来实现这一目的,其中最常用的是iptables和ipset。

本文将介绍如何使用这两个工具来进行高级网络防火墙配置。

一、iptables简介iptables是一个功能强大的Linux防火墙工具,它允许管理员配置、管理和维护网络安全规则集。

iptables使用内核的netfilter框架来实现数据包过滤和转发。

它可以根据网络协议、源IP地址、目标IP地址、端口号等多个条件来过滤和控制数据包的流动。

下面是一些常用的iptables命令及其功能:1. iptables -A chain -p protocol --source address --destination address --dport port -j action:添加规则到指定链,根据指定条件决定数据包的操作(动作)。

2. iptables -D chain rule-number:从指定链中删除指定规则。

3. iptables -L:列出当前的防火墙规则集。

4. iptables -F chain:清空指定链中的所有规则。

5. iptables -P chain target:设置指定链的默认策略。

二、ipset简介ipset是一个用于管理大规模IP地址和端口的工具,它可以与iptables一起使用,提高防火墙规则的效率和性能。

ipset通过将IP地址和端口号存储在内存中的数据结构中,可以更快地匹配和过滤数据包。

ipset的一些常用命令如下:1. ipset create setname type:创建一个新的ipset。

2. ipset add setname entry:将条目添加到指定的ipset中。

3. ipset del setname entry:从指定的ipset中删除条目。

iptables 配置nat masquerade规则

iptables 配置nat masquerade规则

iptables 配置nat masquerade规则iptables是Linux操作系统中一个重要的防火墙软件,它可以用来配置和管理网络数据包的转发和过滤规则。

其中一项常见的配置是nat masquerade规则,用于实现网络地址转换(Network Address Translation,NAT),将内部局域网的私有IP地址转换为公共IP地址,实现内网与外网的通信。

本文将逐步解释iptables配置nat masquerade 规则的步骤和原理。

第一步:了解nat masquerade的原理在深入了解iptables配置nat masquerade规则之前,我们首先需要了解nat masquerade的原理。

当内部局域网上的设备通过路由器连接到互联网时,由于内网使用的是私有IP地址,而互联网上使用的是公共IP地址,所以需要进行地址转换。

nat masquerade将内部局域网的私有IP 地址转换为路由器的公共IP地址,使得内网设备可以正常访问互联网。

第二步:确认系统中是否已安装iptables在开始配置nat masquerade规则之前,我们需要确认系统中是否已经安装了iptables。

可以通过在终端执行以下命令来检查:shelliptables -V如果系统已安装iptables,将显示出iptables的版本号和其他信息。

如果系统未安装iptables,可以通过以下命令来安装:shellsudo apt-get install iptables请根据使用的Linux发行版选择相应的命令。

第三步:创建一个新的iptables链接下来,我们需要创建一个新的iptables链来存储nat masquerade规则。

可以使用以下命令创建一个名为"MASQUERADE"的新链:shellsudo iptables -t nat -N MASQUERADE这将在iptables的nat表中创建一个新的自定义链。

Linux命令高级技巧使用iptables和ufw命令进行网络防火墙配置

Linux命令高级技巧使用iptables和ufw命令进行网络防火墙配置

Linux命令高级技巧使用iptables和ufw命令进行网络防火墙配置Linux命令高级技巧:使用iptables和ufw命令进行网络防火墙配置在Linux操作系统中,网络防火墙是保护系统网络安全的重要组成部分。

通过合理配置网络防火墙规则,可以控制网络流量的进出,阻挡恶意攻击和未经授权的访问,确保系统的安全性。

本文将介绍Linux 中的两个重要命令iptables和ufw,以及使用它们进行网络防火墙配置的高级技巧。

一、iptables命令iptables是Linux中主要的防火墙工具,可以在内核级别对进出的网络流量进行过滤、转发和NAT(Network Address Translation)等操作。

下面是一些常用的iptables命令及其用法:1. 启用IP转发功能在做网络防火墙配置之前,需要确保系统开启了IP转发功能。

可以使用以下命令启用:```shellsysctl -w net.ipv4.ip_forward=1```此命令将系统的`net.ipv4.ip_forward`参数设置为1,即开启IP转发功能。

2. 基本规则设置使用以下命令创建一条基本的防火墙规则,允许本地主机的所有传入和传出流量:```shelliptables -P INPUT ACCEPTiptables -P OUTPUT ACCEPTiptables -P FORWARD ACCEPT```这些命令将INPUT、OUTPUT和FORWARD链的默认策略都设置为ACCEPT,即允许全部流量。

3. 添加规则可以使用iptables命令添加特定的防火墙规则,以允许或拒绝特定的流量。

例如,以下命令将允许来自192.168.1.100的主机的SSH连接:```shelliptables -A INPUT -s 192.168.1.100 -p tcp --dport 22 -j ACCEPT```此命令将在INPUT链中添加一条规则,允许源IP为192.168.1.100,目标端口为22的TCP连接。

linux iptables 防火墙添加规则

linux iptables 防火墙添加规则

linux iptables 防火墙添加规则《Linux iptables 防火墙添加规则》在Linux系统中,iptables是一种用于管理包过滤规则和网络地址转换的工具,也就是说,它是一个用于管理防火墙的工具。

通过iptables,用户可以对传入和传出的网络数据包进行过滤、转发、放行等操作,从而保护系统的安全性。

要添加iptables防火墙规则,首先需要了解一些基本概念。

规则由一系列规则链和规则组成,每个规则链对应于一个特定的包处理阶段,比如INPUT(入站数据包)、FORWARD(转发数据包)、OUTPUT(出站数据包)等。

而规则则定义了针对每个规则链的具体动作,比如允许、拒绝、转发等。

要添加规则,可以使用iptables命令,语法为:```iptables -A <chain> -p <protocol> --dport <port> -j <action>```具体来说,-A表示添加规则,<chain>表示规则链的名称,-p表示协议类型,--dport表示目标端口,-j表示动作。

比如,可以使用以下命令添加一条允许HTTP流量的规则:```iptables -A INPUT -p tcp --dport 80 -j ACCEPT```此外,还可以使用其他选项来指定IP地址、子网、MAC地址等,定制更精细的规则。

在添加规则之后,需要保存规则,以便系统重启后依然有效。

可以使用以下命令来保存规则:```iptables-save > /etc/iptables.rules```总的来说,通过学习iptables的基本概念和语法,用户可以灵活地配置防火墙规则,从而保护系统的安全。

毋庸置疑,良好的防火墙规则可以有效地提高系统的安全性,减少潜在的攻击风险。

使用Linux终端命令进行防火墙设置和管理

使用Linux终端命令进行防火墙设置和管理

使用Linux终端命令进行防火墙设置和管理一、介绍Linux操作系统是一种广泛使用的操作系统,其安全性备受关注。

在Linux系统中,防火墙是保护计算机网络安全的重要组成部分。

本文将介绍如何使用Linux终端命令进行防火墙的设置和管理。

二、防火墙的基本概念防火墙是一种网络安全设备,用于设置规则和策略,限制进出计算机网络的流量。

它可以过滤网络数据包,防止恶意攻击和未经授权的访问。

在Linux系统中,防火墙通常使用iptables命令来实现。

三、iptables命令的基本用法1. 查询防火墙规则:使用iptables -L命令可以列出当前的防火墙规则。

例如,输入以下命令:```shelliptables -L```2. 添加防火墙规则:使用iptables -A命令可以添加一条新的防火墙规则。

例如,要允许来自特定IP地址的HTTP访问,可以输入以下命令:```shelliptables -A INPUT -s <IP地址> -p tcp --dport 80 -j ACCEPT```3. 删除防火墙规则:使用iptables -D命令可以删除特定的防火墙规则。

例如,要删除上述添加的防火墙规则,可以输入以下命令:```shelliptables -D INPUT -s <IP地址> -p tcp --dport 80 -j ACCEPT```4. 保存防火墙规则:使用iptables-save命令可以保存当前的防火墙规则。

例如,输入以下命令可以将当前的防火墙规则保存到/etc/iptables.rules文件中:```shelliptables-save > /etc/iptables.rules```5. 加载防火墙规则:使用iptables-restore命令可以加载之前保存的防火墙规则。

例如,输入以下命令可以从/etc/iptables.rules文件中加载防火墙规则:```shelliptables-restore < /etc/iptables.rules```四、常用防火墙配置示例1. 允许SSH访问:要允许SSH访问,可以使用以下命令:```shelliptables -A INPUT -p tcp --dport 22 -j ACCEPT```2. 允许HTTP和HTTPS访问:要允许HTTP和HTTPS访问,可以使用以下命令:```shelliptables -A INPUT -p tcp --dport 80 -j ACCEPTiptables -A INPUT -p tcp --dport 443 -j ACCEPT```3. 允许Ping请求:要允许Ping请求,可以使用以下命令:```shelliptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT```4. 阻止特定IP地址的访问:要阻止特定IP地址的访问,可以使用以下命令:```shelliptables -A INPUT -s <IP地址> -j DROP```五、注意事项1. 防火墙规则的顺序很重要,应该根据需要正确设置规则的顺序。

Linux命令高级技巧使用iptables进行端口转发和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用法规则详及其防火墙配置

Linux下防火墙iptables用法规则详及其防火墙配置

Linux下防⽕墙iptables⽤法规则详及其防⽕墙配置转:iptables规则规则--顾名思义就是规矩和原则,和现实⽣活中的事情是⼀样的,国有国法,家有家规,所以要遵纪守法的嘛。

当然在防⽕墙上的规则,在内核看来,规则就是决定如何处理⼀个包的语句。

如果⼀个包符合所有的条件,我们就⽤相应的处理动作来处理。

书写规则的语法格式为:iptables [-t table] command chains [creteria] -j action-t table就是表名,filter/nat/mangle三个表中的⼀个,默认是filter表command告诉程序如何做,⽐如:插⼊⼀个规则,还是删除等chains 链,有五个,PREROUTING POSTROUTING INPUT OUTPUT FORWARDaction 处理动作,有ACCEPT DENY DROP REJECT SNAT DNAT理⼀下思路下⾯⼀点点的说⼀、Tables选项-t⽤来指定⽤哪个表,它可以是下⾯的任何⼀个,默认的是filter表⼆、COMMANDScommand指定iptables对我们提交的规则要做什么样的操作。

这些操作可能是在某个表⾥增加或删除⼀些东西,或其他的动作。

⼀下是iptables可⽤的command(如不做说明,默认表是filter)和命令结合常⽤的选项三、chains简单说⼀下五个链的作⽤:PREROUTING 是在包进⼊防⽕墙之后、路由决策之前做处理POSTROUTING 是在路由决策之后,做处理INPUT 在包被路由到本地之后,但在出去⽤户控件之前做处理OUTPUT在去顶包的⽬的之前做处理FORWARD在最初的路由决策之后,做转发处理四、匹配条件4.1 基本匹配4.2 隐含扩展匹配这种匹配操作是⾃动的或隐含的装⼊内核的。

例如使⽤-p tcp时,不需要再装⼊任何东西就可以匹配只有IP包才有的特点。

隐含匹配针对三种不同的协议,即TCP UDP ICMP。

Linux下iptables超详细教程和使用示例

Linux下iptables超详细教程和使用示例

Linux下iptables超详细教程和使⽤⽰例iptables的结构:iptables由上⽽下,由Tables,Chains,Rules组成。

⼀、iptables的表tables与链chainsiptables有Filter, NAT, Mangle, Raw四种内建表:1. Filter表Filter是iptables的默认表,它有以下三种内建链(chains):INPUT链 – 处理来⾃外部的数据。

OUTPUT链 – 处理向外发送的数据。

FORWARD链 – 将数据转发到本机的其他⽹卡设备上。

2. NAT表NAT表有三种内建链:PREROUTING链 – 处理刚到达本机并在路由转发前的数据包。

它会转换数据包中的⽬标IP地址(destination ip address),通常⽤于DNAT(destination NAT)。

POSTROUTING链 – 处理即将离开本机的数据包。

它会转换数据包中的源IP地址(source ip address),通常⽤于SNAT(source NAT)。

OUTPUT链 – 处理本机产⽣的数据包。

3. Mangle表Mangle表⽤于指定如何处理数据包。

它能改变TCP头中的QoS位。

Mangle表具有5个内建链(chains):PREROUTINGOUTPUTFORWARDINPUTPOSTROUTING4. Raw表Raw表⽤于处理异常,它具有2个内建链:PREROUTING chainOUTPUT chain5.⼩结⼆、IPTABLES 规则(Rules)规则的关键知识点:Rules包括⼀个条件和⼀个⽬标(target)如果满⾜条件,就执⾏⽬标(target)中的规则或者特定值。

如果不满⾜条件,就判断下⼀条Rules。

⽬标值(Target Values)在target⾥指定的特殊值:ACCEPT – 允许防⽕墙接收数据包DROP – 防⽕墙丢弃包QUEUE – 防⽕墙将数据包移交到⽤户空间RETURN – 防⽕墙停⽌执⾏当前链中的后续Rules,并返回到调⽤链(the calling chain)中。

linux防火墙iptables常用规则(屏蔽IP地址、禁用ping、协议设置、NAT与转发、负载平衡、自定义链)

linux防火墙iptables常用规则(屏蔽IP地址、禁用ping、协议设置、NAT与转发、负载平衡、自定义链)

linux防火墙iptables常用规则(屏蔽IP地址、禁用ping、协议设置、NAT与转发、负载平衡、自定义链)一、iptables:从这里开始删除现有规则iptables -F(OR)iptables --flush设置默认链策略iptables的filter表中有三种链:INPUT, FORWARD和OUTPUT。

默认的链策略是ACCEPT,你可以将它们设置成DROP。

iptables -P INPUT DROPiptables -P FORWARD DROPiptables -P OUTPUT DROP你需要明白,这样做会屏蔽所有输入、输出网卡的数据包,除非你明确指定哪些数据包可以通过网卡。

屏蔽指定的IP地址以下规则将屏蔽BLOCK_THIS_IP所指定的IP地址访问本地主机:BLOCK_THIS_IP="x.x.x.x"iptables -A INPUT -i eth0 -s "$BLOCK_THIS_IP" -j DROP (或者仅屏蔽来自该IP的TCP数据包)iptables -A INPUT -i eth0 -p tcp -s "$BLOCK_THIS_IP" -j DROP允许来自外部的ping测试iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPTiptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT允许从本机ping外部主机iptables -A OUTPUT -p icmp --icmp-type echo-request -jACCEPTiptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT允许环回(loopback)访问iptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPT二、iptables:协议与端口设定允许所有SSH连接请求本规则允许所有来自外部的SSH连接请求,也就是说,只允许进入eth0接口,并且目的端口为22的数据包iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPTiptables -A OUTPUT -o eth0 -p tcp --sport 22 -m state--state ESTABLISHED -j ACCEPT允许从本地发起的SSH连接本规则和上述规则有所不同,本规则意在允许本机发起SSH 连接,上面的规则与此正好相反。

如何使用iptables命令在Linux中配置防火墙和网络转发

如何使用iptables命令在Linux中配置防火墙和网络转发

如何使用iptables命令在Linux中配置防火墙和网络转发由于网络安全的重要性日益凸显,配置防火墙和网络转发成为Linux系统管理员必备的技能之一。

在Linux系统中,iptables命令提供了灵活的方式来配置防火墙规则和网络转发设置。

本文将介绍如何使用iptables命令来完成这些任务。

一、什么是iptables命令iptables是Linux操作系统中一个非常强大的防火墙工具,它可以通过管理网络数据包的流动来控制网络访问权限。

iptables命令可以根据预先定义的规则集过滤网络数据包,拒绝无效或危险的连接,从而保护系统的安全性。

二、基本概念与术语在开始使用iptables命令之前,我们需要了解一些基本的概念和术语。

1. 表(Table):iptables命令使用表来组织和管理规则。

常用的表有:filter、nat和mangle等。

2. 链(Chain):每个表都包含多个链,链是规则的组合。

常用的链有:INPUT、FORWARD和OUTPUT等。

3. 规则(Rule):规则是iptables命令的基本单位,它定义了针对网络数据包的动作和匹配条件。

4. 动作(Action):动作定义了对匹配到的数据包的处理方式,常见的动作有:ACCEPT、DROP和REJECT等。

5. 匹配条件(Match):匹配条件定义了规则在应用到数据包时需要满足的条件。

常见的匹配条件有:source、destination和protocol等。

三、配置防火墙规则配置防火墙规则是保护系统安全的第一步。

使用iptables命令可以轻松地添加、修改和删除防火墙规则。

1. 查看当前防火墙规则首先,我们需要查看当前的防火墙规则,可以使用以下命令:```iptables -L```该命令将列出当前的防火墙规则,包括表、链、规则和动作等信息。

2. 添加规则要添加一个防火墙规则,可以使用以下命令:```iptables -A INPUT -s 192.168.0.0/24 -p tcp --dport 22 -j ACCEPT```该命令将允许来自192.168.0.0/24网段的TCP连接访问本地的SSH 服务。

linux防火墙iptables参数详解

linux防火墙iptables参数详解

linux防⽕墙iptables参数详解先来看iptables 防⽕墙的⼀些常⽤设置:1. iptables-A INPUT -p tcp -s x.x.x.x/x --dport 22 -j ACCEPT // 允许源地址为x.x.x.x/x的主机通过22(ssh)端⼝.2. iptables -A INPUT -p tcp --dport 80 -j ACCEPT // 允许80(http)端⼝的数据包进⼊3. iptables -A INPUT -p tcp --dport 110 -j ACCEPT // 允许110(pop3)端⼝的数据包进⼊如果不加这规则,就只能通过web页⾯来收信(⽆法⽤OE或Foxmail等来收)4. iptables -A INPUT -p tcp --dport 25 -j ACCEPT // 允许25(smtp)端⼝的数据包进⼊,如果不加这规则,就只能通过web页⾯来发信(⽆法⽤OE或Foxmail等来发)5. iptables -A INPUT -p tcp --dport 21 -j ACCEPT // 允许21(ftp)端⼝的数据包进⼊(传数据)6. iptables -A INPUT -p tcp --dport 20 -j ACCEPT // 允许20(ftp)端⼝的数据包进⼊(执⾏ftp命令,如dir等)7. iptables -A INPUT -p tcp --dport 53 -j ACCEPT // 允许53(dns)端⼝的数据包进⼊(tcp)8. iptables -A INPUT -p udp --dport 53 -j ACCEPT // 允许53(dns)端⼝的数据包进⼊(udp)9. iptables -A INPUT -p icmp -j ACCEPT // 允许ICMP包通过10. iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT //利⽤ iptables 对连接状态的⽀持11. iptables -P INPUT DROP//把INPUT链的默认规则设置为DROPIptalbes 防⽕墙主要参数和设置说明:TARGETS防⽕墙的规则指定所检查包的特征,和⽬标。

Linux防火墙配置(iptables,firewalld)

Linux防火墙配置(iptables,firewalld)

Linux防⽕墙配置(iptables,firewalld)Linux中的防⽕墙RHEL中有⼏种防⽕墙共存:iptablesfirewalldip6tablesebtables这些软件本⾝其实并不具备防⽕墙功能,他们的作⽤都是在⽤户空间中管理和维护规则,只不过规则结构和使⽤⽅法不⼀样罢了,真正利⽤规则进⾏过滤是由内核的netfilter完成的。

扩展:整个linux内部结构可以分为三部分,从最底层到最上层依次是:硬件-->内核空间-->⽤户空间。

CentOS7默认采⽤的是firewalld管理netfilter⼦系统,底层调⽤的仍然是iptables命令。

不同的防⽕墙软件相互间存在冲突,使⽤某个时应禁⽤其他的。

systemctl start/stop/enable/disable/status/is-active xxxx //systemctl服务管理命令Netfilter netfilter是Linux 2.4内核引⼊的全新的包过滤引擎。

由⼀些数据包过滤表组成,这些表包含内核⽤来控制信息包过滤的规则集。

iptables等等都是在⽤户空间修改过滤表规则的便捷⼯具。

netfilter在数据包必须经过且可以读取规则的位置,共设有5个控制关卡。

这5个关卡处的检查规则分别放在5个规则链中(有的叫钩⼦函数(hook functions)。

也就是说5条链对应着数据包传输路径中的5个控制关卡,链中的规则会在对应的关卡检查和处理。

任何⼀个数据包,只要经过本机,必然经过5个链中的某个或某⼏个。

PREROUTING 数据包刚进⼊⽹络接⼝之后,路由之前,INPUT 数据包从内核流⼊⽤户空间。

FORWARD 在内核空间中,从⼀个⽹络接⼝进⼊,到另⼀个⽹络接⼝去。

转发过滤。

OUTPUT 数据包从⽤户空间流出到内核空间。

POSTROUTING 路由后,数据包离开⽹络接⼝前。

链其实就是包含众多规则的检查清单,每⼀条链中包含很多规则。

高级技巧使用iptables进行端口转发与NAT配置

高级技巧使用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。

iptables 配置nat masquerade规则 -回复

iptables 配置nat masquerade规则 -回复

iptables 配置nat masquerade规则-回复如何在iptables中配置nat masquerade规则。

第一步:了解NAT和Masquerade的概念和功能在开始配置iptables之前,我们首先需要了解NAT(Network Address Translation)和Masquerade(伪装)的概念和功能。

NAT是一种网络地址转换技术,它允许将私有IP地址转换为公有IP地址,从而实现内部网络与外部网络之间的通信。

NAT的作用是解决IPv4地址不足的问题,并且可以提高网络安全性,因为它隐藏了内部网络的真实IP 地址。

Masquerade是NAT的一种特殊形式,其中NAT规则是动态创建的。

当一个数据包出去时,Masquerade规则会自动将源IP地址替换为外部接口的IP地址,并将其映射回答数据包的源地址。

这样,只有一个公共IP 地址可以代表整个内部网络。

第二步:确定启用NAT和Masquerade功能的必要性在开始配置之前,需要确定是否需要启用NAT和Masquerade功能。

在许多情况下,这两个功能是必需的,例如:1. 当内部网络中的计算机需要通过Internet访问外部资源时,需要使用NAT和Masquerade功能。

由于内部网络使用的是私有IP地址,所以需要将其转换为公共IP地址,以便与外部网络通信。

2. 如果您有多个内部网络(例如,它们使用不同的子网),并且您想要使用一个公共IP地址代表这些内部网络,那么您需要使用NAT和Masquerade功能来实现这一目标。

第三步:进入iptables配置界面在Linux系统中,我们可以使用iptables命令来配置防火墙规则,包括NAT和Masquerade规则。

首先,我们需要进入iptables配置界面。

在大多数Linux发行版中,可以使用以下命令进入iptables配置界面:sudo iptables -t nat -I PREROUTING -p tcp dport 80 -j DNATto-destination 192.168.1.2:80此命令打开了一个加入PREROUTING 链的规则,匹配来自任何源IP地址、任何TCP目标端口为80的数据包,并将其目标更改为192.168.1.2:80。

一个使用iptables配置NAT的实例

一个使用iptables配置NAT的实例

一个使用iptables配置NAT的实例赵珂, 2006-11-24本文介绍怎样在linux系统上使用iptables建立NAT, 我们能够把他做为一个网关, 从而局域网的多台机器能够使用一个公开的ip地址连接外网. 我使用的方法是重写通过NAT系统IP包的源地址和目标地址. 准备:CPU: PII或更高系统: 任何Linux版本软件: Iptables网卡: 2块想法:用您的广域网IP替换xx.xx.xx.xx用您的局域网IP替换yy.yy.yy.yy(比如: 192.168.0.0/16, 172.16.0.0/12, 10.0.0.0/8)WAN = eth0 有一个外网ip地址xx.xx.xx.xxLAN = eth1 有一个内网ip地址yy.yy.yy.yy/ 255.255.0.0过程:步骤#1. 添加2块网卡到您的Linux系统.步骤#2. 确认您的网卡是否正确安装:ls /etc/sysconfig/network-scripts/ifcfg-eth* | wc -l结果输出应为”2″步骤#3. 配置eth0, 使用外网ip地址(基于ip的外部网络或互连网)cat /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0BOOTPROTO=noneBROADCAST=xx.xx.xx.255 # 附加选项HWADDR=00:50:BA:88:72:D4 # 附加选项IPADDR=xx.xx.xx.xxNETMASK=255.255.255.0 # ISP提供NETWORK=xx.xx.xx.0 # 可选ONBOOT=yesTYPE=EthernetUSERCTL=noIPV6INIT=noPEERDNS=yesGATEWAY=xx.xx.xx.1 # ISP提供步骤#4. 配置eth1, 使用局域网地址(内部网络)cat /etc/sysconfig/network-scripts/ifcfg-eth1BOOTPROTO=nonePEERDNS=yesHWADDR=00:50:8B:CF:9C:05 # OptionalTYPE=EthernetIPV6INIT=noDEVICE=eth1NETMASK=255.255.0.0 # Specify based on your requirement BROADCAST=”"IPADDR=192.168.2.1 # Gateway of the LANNETWORK=192.168.0.0 # OptionalUSERCTL=noONBOOT=yes步骤#5. 配置主机(可选)cat /etc/hosts127.0.0.1 nat localhost.localdomain localhost步骤#6. 配置网关cat /etc/sysconfig/networkNETWORKING=yesHOSTNAME=natGATEWAY=xx.xx.xx.1 # 互连网或外网网关, ISP提供步骤#6. 配置DNScat /etc/resolv.confnameserver 203.145.184.13 # 主DNS服务器, ISP提供nameserver 202.56.250.5 # 第二个DNS服务器, ISP提供步骤#8. 使用IP T ables配置NAT# 删除刷新缺省表如”filter”, 其他表如”nat”需清楚标明:iptables ?flush # 刷新任何过滤规则和NAT表.iptables ?table nat ?flushiptables ?delete-chain#删除任何非缺省的规则链和nat表iptables ?table nat ?delete-chain#建立IP转发和伪装iptables ?table nat ?append POSTROUTING ?out-interface eth0 -j MASQUERADE iptables ?append FORWARD ?in-interface eth1 -j ACCEPT#打开内核的包转发功能echo 1 > /proc/sys/net/ipv4/ip_forward#应用iptables配置service iptables restart步骤#9. 测试# 用一台客户机ping网关ping 192.168.2.1然后测试能否访问外网:ping 内部网络客户端的配置局部办公网络的任何电脑把网关配置为linux(系统)网关的内网ip地址.DNS配置为ISP提供的DNS.Windows’95,2000,XP上的配置:选择“开始” -> “配置” -> “控制面版”选择“网络” 图标选择“配置”, 然后双击以太网络的”TCP/IP”部分(不是TCP/IP -> 拨号适配器)然后输入:“网关”: 使用linux系统的内网ip地址.(192.168.2.1)“DNS配置”: 使用IPS提供的DNS地址. (通常使用互连网地址)“IP地址”: ip地址(192.168.XXX.XXX - 静态)和掩码(小的本地办公网络通常使用255.255.0.0). 参考:Step-By-Step Configuration of NAT with iptables备注:转载请保持文章完整性, 欢迎交流.关键字:iptables,linux,nat-->zhaoke 于2006-11-24 4:12 贴于linux分类.您能够使用这个RSS 2.0地址来订阅本篇文章的后继留言.您也能够直接留言, 或是从您的站点trackback本篇文章.2 个留言zhaoke | 2006-11-24 4:31 |固定链接基础文章, 实用. For beginners.杜小华| 2007-11-17 15:24 |固定链接我的电脑有三块网卡,外网eth2,IP 210.40.139.228 内网eth0,IP 192.168.0.1 ,更有一个外网但没有使用为eth1,IP 10.3.3.59.我要配置adsl使我局域网的电脑也能上网,请问该怎样配置?我修改了/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/localiptables -t nat -A POSTROUTING -o eth2 -j MASQUERADEiptables -A FORWARD -i eth0 -j ACCEPTecho 1 > /proc/sys/net/ipv4/ip_forward后面三行是我添加的,不知道怎么还是上不了,请多多指教啊!。

linux下防火墙iptables

linux下防火墙iptables

Linux 下的防火墙iptables一、基本知识1.防火墙可以分为网络层防火墙和应用层防火墙。

Netfilter/iptables 是网络层防火墙,squid 是应用层防火墙。

23.NAT 即网络地址转换,NAT 类型有静态NAT ,动态NAT 和网络地址端口转换NAPT 。

4.Netfilter/iptables 把NAT 分成了两种,即源NAT (SNAT )和目的NAT (DNAT )。

-------------------------------------------------------------------------------------------------------------------二、iptable 的安装与配置1.安装2.启用linux路由功能3.Iptables 语法(1)[-t 表](2)[-命令 链]Input(链) output(链) Forward(链) prerouting(链) postrouting(链) output(链) 规则集 规则集 规则集 规则集 规则集 规则集首先要查看下防火墙的情况:]# iptables -L –n看到INPUT ACCEPT, FORWARD ACCEPT , OUTPUT ACCEPT我们可以这样理解iptables 由3个部分组成INPUT, FORWARD 和OUTPUT关闭所有的INPUT FORWARD OUTPUT,下面是命令实现:]# iptables -P INPUT DROP]# iptables -P FORWARD DROP]# iptables -P OUTPUT DROP]# service iptables save 进行保存firewall rules 防火墙的规则其实就是保存在/etc/sysconfig/iptables可以打开文件查看vi /etc/sysconfig/iptables禁止单个IP访问命令# iptables -A INPUT -p tcp -s 192.168.1.2 -j DROP数据包经过防火墙的路径图1比较完整地展示了一个数据包是如何经过防火墙的,考虑到节省空间,该图实际上包了三种情况:来自外部,以防火墙(本机)为目的地的包,在图1中自上至下走左边一条路径。

Linux代理服务器和防火墙配置详细解析

Linux代理服务器和防火墙配置详细解析

Linux代理服务器和防火墙配置详细解析代理/防火墙1.iptables规则表Filter(针对过滤系统):INPUT、FORWARD、OUTPUTNAT(针对地址转换系统):PREROUTING、POSTROUTING、INPUT、OUTPUTMangle(针对策略路由和特殊应用):OUTPUT、POSTROUTING2.安装包iptables-1.2.7a-23.配置防火墙1) 命令语法Usge: iptables [-t table] -[ADC] chain rule-specification [options]iptables [-t table] -I chain [rulenum] rule-specification [options]iptables [-t table] -R chain rulenum rule-specification [options]iptables [-t table] -D chain rulenum [options]iptables [-t table] -[LFZ] [chain] [options]iptables [-t table] -N chainiptables [-t table] -X [chain]iptables [-t table] -P chain target [options]iptables [-t table] -E old-chain-name new-chain-name规则操作参数说明:-A:在所选择的链末添加一条或更多规则;-D:从所选链中删除一条或更多规则。

有两种方法:把被删除规则指定为链中的序号(第一条序号为1),或者指定为要匹配的规则;-R:从选中的链中取代一条规则。

如果源地址或目的地址转换为多地址,该命令会失败。

规则序号从1开始;-I:根据给出的规则序号,向所选链中插入一条或更多规则。

所以,如果规则序号为1,规则会插入链的头部。

linux关于防火墙的命令

linux关于防火墙的命令

linux关于防火墙的命令Linux防火墙命令详解防火墙是保护计算机和网络免受恶意攻击的重要组成部分。

在Linux系统中,我们可以使用一些命令来配置和管理防火墙。

本文将详细介绍几个常用的Linux防火墙命令,帮助读者更好地理解和使用防火墙。

1. iptables命令iptables命令是Linux系统中最常用的防火墙管理工具之一。

它允许管理员配置和管理数据包过滤规则,以控制网络流量。

以下是一些常用的iptables命令及其功能:(1)iptables -L:列出当前的防火墙规则。

可以使用该命令查看当前生效的规则,以及规则的来源和目的地。

(2)iptables -A INPUT -p tcp --dport 22 -j ACCEPT:允许通过SSH协议访问本地主机的22端口。

可以将此命令中的端口号和协议类型更改为需要允许的端口和协议。

(3)iptables -A INPUT -s 192.168.0.0/24 -j DROP:拒绝来自192.168.0.0/24子网的所有数据包。

可以根据需要更改源IP地址和子网掩码。

(4)iptables -A INPUT -p icmp --icmp-type echo-request -mlimit --limit 1/s -j ACCEPT:限制每秒只允许接收一个ping请求。

可以根据需要调整限制速率。

(5)iptables -P INPUT DROP:将默认的输入策略设置为拒绝。

这将导致防火墙拒绝除了已经明确允许的流量之外的所有流量。

2. ufw命令ufw(Uncomplicated Firewall)是一个简单易用的防火墙管理工具,可以让用户更方便地配置和管理防火墙规则。

以下是一些常用的ufw命令及其功能:(1)ufw enable:启用ufw防火墙。

此命令将激活防火墙并根据默认规则进行配置。

(2)ufw disable:禁用ufw防火墙。

此命令将停止防火墙并允许所有流量通过。

linux配置防火墙详细步骤(iptables命令使用方法)

linux配置防火墙详细步骤(iptables命令使用方法)

linux配置防⽕墙详细步骤(iptables命令使⽤⽅法)通过本教程操作,请确认您能使⽤linux本机。

如果您使⽤的是ssh远程,⽽⼜不能直接操作本机,那么建议您慎重,慎重,再慎重!通过iptables我们可以为我们的Linux服务器配置有动态的防⽕墙,能够指定并记住为发送或接收信息包所建⽴的连接的状态,是⼀套⽤来设置、维护和检查Linux内核的IP包过滤规则的命令包。

iptables定义规则的⽅式⽐较复杂,本⽂对Linux防⽕墙Iptables规则写法进⾏详细介绍:⑴、Iptables规则写法的基本格式是: Iptables [-ttable] COMMAND chain CRETIRIA -j ACTION⑵、Iptables规则相关参数说明: -t table:3个filter nat mangle :定义如何对规则进⾏管理 chain:指定你接下来的规则到底是在哪个链上操作的,当定义策略的时候,是可以省略的; CRETIRIA:指定匹配标准; -j ACTION:指定如何进⾏处理;⑶、Iptables规则其他写法及说明: Iptables -L -n -v #查看定义规则的详细信息 Iptables是Linux服务器上防⽕墙配置必备的设置⼯具,是我们在做好服务器安全及部署⼤型⽹络时,常会⽤到的重要⼯具,很好的掌握iptables,可以让我们对Linux服务器整个⽹络的结构有⼀个⽐较透彻的了解,更能够很好的掌握Linux服务器的安全配置技巧。

我们来配置⼀个filter表的防⽕墙.(1)查看本机关于IPTABLES的设置情况复制代码代码如下:[root@tp ~]# iptables -L -nChain INPUT (policy ACCEPT)target prot opt source destination</p> <p>Chain FORWARD (policy ACCEPT)target prot opt source destination</p> <p>Chain OUTPUT (policy ACCEPT)target prot opt source destination</p> <p>Chain RH-Firewall-1-INPUT (0 references)target prot opt source destinationACCEPT all -- 0.0.0.0/0 0.0.0.0/0ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 255ACCEPT esp -- 0.0.0.0/0 0.0.0.0/0ACCEPTah--0.0.0.0/00.0.0.0/0ACCEPTudp--0.0.0.0/0224.0.0.251udpdpt:5353ACCEPTtcp--0.0.0.0/00.0.0.0/0stateNEWtcpdpt:80ACCEPTtcp--0.0.0.0/00.0.0.0/0stateNEWtcpdpt:25REJECTall--0.0.0.0/00.0.0.0/0reject-withicmp-host-prohibited可以看出我在安装linux时,选择了有防⽕墙,并且开放了22,80,25端⼝.如果你在安装linux时没有选择启动防⽕墙,是这样的复制代码代码如下:[root@tp ~]# iptables -L -nChain INPUT (policy ACCEPT)target prot opt source destination </p> <p>Chain FORWARD (policy ACCEPT)target prot opt source destination </p> <p>Chain OUTPUT (policy ACCEPT)target prot opt source destination什么规则都没有.(2)清除原有规则.不管你在安装linux时是否启动了防⽕墙,如果你想配置属于⾃⼰的防⽕墙,那就清除现在filter的所有规则.复制代码代码如下:[root@tp ~]# iptables -F 清除预设表filter中的所有规则链的规则[root@tp ~]# iptables -X 清除预设表filter中使⽤者⾃定链中的规则我们在来看⼀下复制代码代码如下:[root@tp ~]# iptables -L -nChain INPUT (policy ACCEPT)target prot opt source destination </p> <p>Chain FORWARD (policy ACCEPT)target prot opt source destination </p> <p>Chain OUTPUT (policy ACCEPT)target prot opt source destination什么都没有了吧,和我们在安装linux时没有启动防⽕墙是⼀样的.(提前说⼀句,这些配置就像⽤命令配置IP⼀样,重起就会失去作⽤),怎么保存.复制代码代码如下:[root@tp ~]# /etc/rc.d/init.d/iptables save复制代码代码如下:[root@tp ~]# service iptables restart现在IPTABLES配置表⾥什么配置都没有了,那我们开始我们的配置吧(3)设定预设规则复制代码代码如下:[root@tp ~]# iptables -P INPUT DROP[root@tp ~]# iptables -P OUTPUT ACCEPT[root@tp ~]# iptables -P FORWARD DROP上⾯的意思是,当超出了IPTABLES⾥filter表⾥的两个链规则(INPUT,FORWARD)时,不在这两个规则⾥的数据包怎么处理呢,那就是DROP(放弃).应该说这样配置是很安全的.我们要控制流⼊数据包⽽对于OUTPUT链,也就是流出的包我们不⽤做太多限制,⽽是采取ACCEPT,也就是说,不在着个规则⾥的包怎么办呢,那就是通过.可以看出INPUT,FORWARD两个链采⽤的是允许什么包通过,⽽OUTPUT链采⽤的是不允许什么包通过.这样设置还是挺合理的,当然你也可以三个链都DROP,但这样做我认为是没有必要的,⽽且要写的规则就会增加.但如果你只想要有限的⼏个规则是,如只做WEB服务器.还是推荐三个链都是DROP.注:如果你是远程SSH登陆的话,当你输⼊第⼀个命令回车的时候就应该掉了.因为你没有设置任何规则.怎么办,去本机操作呗!(4)添加规则.⾸先添加INPUT链,INPUT链的默认规则是DROP,所以我们就写需要ACCETP(通过)的链为了能采⽤远程SSH登陆,我们要开启22端⼝.复制代码代码如下:[root@tp ~]# iptables -A INPUT -p tcp --dport 22 -j ACCEPT[root@tp ~]# iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT(注:这个规则,如果你把OUTPUT 设置成DROP的就要写上这⼀部,好多⼈都是望了写这⼀部规则导致,始终⽆法SSH.在远程⼀下,是不是好了.其他的端⼝也⼀样,如果开启了web服务器,OUTPUT设置成DROP的话,同样也要添加⼀条链:复制代码代码如下:[root@tp ~]# iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT如果做了WEB服务器,开启80端⼝.复制代码代码如下:[root@tp ~]# iptables -A INPUT -p tcp --dport 80 -j ACCEPT如果做了邮件服务器,开启25,110端⼝.复制代码代码如下:[root@tp ~]# iptables -A INPUT -p tcp --dport 110 -j ACCEPT[root@tp ~]# iptables -A INPUT -p tcp --dport 25 -j ACCEPT如果做了FTP服务器,开启21端⼝复制代码代码如下:[root@tp ~]# iptables -A INPUT -p tcp --dport 21 -j ACCEPT[root@tp ~]# iptables -A INPUT -p tcp --dport 21 -j ACCEPT如果做了DNS服务器,开启53端⼝复制代码代码如下:[root@tp ~]# iptables -A INPUT -p tcp --dport 53 -j ACCEPT如果你还做了其他的服务器,需要开启哪个端⼝,照写就⾏了.上⾯主要写的都是INPUT链,凡是不在上⾯的规则⾥的,都DROP允许icmp包通过,也就是允许ping,复制代码代码如下:[root@tp ~]# iptables -A OUTPUT -p icmp -j ACCEPT (OUTPUT设置成DROP的话) [root@tp ~]# iptables -A INPUT -p icmp -j ACCEPT (INPUT设置成DROP的话)允许loopback!(不然会导致DNS⽆法正常关闭等问题)IPTABLES -A INPUT -i lo -p all -j ACCEPT (如果是INPUT DROP)IPTABLES -A OUTPUT -o lo -p all -j ACCEPT(如果是OUTPUT DROP)下⾯写OUTPUT链,OUTPUT链默认规则是ACCEPT,所以我们就写需要DROP(放弃)的链.减少不安全的端⼝连接复制代码代码如下:[root@tp ~]# iptables -A OUTPUT -p tcp --sport 31337 -j DROP[root@tp ~]# iptables -A OUTPUT -p tcp --dport 31337 -j DROP有些些特洛伊⽊马会扫描端⼝31337到31340(即⿊客语⾔中的 elite 端⼝)上的服务。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Linux下多网段Nat实现与应用
Iptables/netfilter是一个可以替代价格昂贵的商业防火墙的网络安全保护解决方案,能够实现数据包过滤、数据包重定向和网络地址转换(NAT)等多种功能。

准备:
操作系统安装光盘:CentOS-6.1版本
硬件要求:dell poweredge 410(需双网卡)
实现功能:
192.168.11.0/24、192.168.10.0/24网段通过防火墙NAT转换访问外网,并实现数据包过滤。

过程:
步骤#1. 安装操作系统(最基本安装即可)
步骤#2. 设置网卡地址
外网eth0 IP:xx.xx.xx.xx
内网eth1 IP:172.16.1.254
网卡路径:/etc/sysconfig/network-scripts
DEVICE=eth0
HWADDR=00:0e:0c:3a:74:c4
NM_CONTROLLED=yes
ONBOOT=yes
TYPE=Ethernet
BOOTPROTO=none
IPV6INIT=no
USERCTL=no
IPADDR=xx.xx.xx.xx
NETMASK=255.255.255.252
DEVICE=eth1
HWADDR=00:0e:0c:3a:74:c4
NM_CONTROLLED=yes
ONBOOT=yes
TYPE=Ethernet
BOOTPROTO=none
IPV6INIT=no
USERCTL=no
IPADDR=172.16.1.254
NETMASK=255.255.255.0
步骤#3. 添加路由
把路由写到 /etc/rc.d/rc.local文件里,这样每次启动就不用重新设置了。

route add -net 172.16.1.0 netmask 255.255.255.0 gw 172.16.1.1
route add -net 192.168.11.0 netmask 255.255.255.0 gw 172.16.1.1
route add -net 192.168.10.0 netmask 255.255.255.0 gw 172.16.1.1
route add default gw 60.190.103.217
172.16.1.1是交换机与Linux的内网网卡接口的地址
步骤#3. 打开ip转发功能
修改文档:vi /etc/sysctl.conf
net.ipv4.ip_forward = 1
步骤#4. Iptables相关配置
[root@tp ~]# iptables -F清除预设表filter中的所有规则链的规则[root@tp ~]# iptables -X清除预设表filter中使用者自定链中的规
[root@tp ~]# iptables -p INPUT DROP
[root@tp ~]# iptables -p OUTPUT ACCEPT
[root@tp ~]# iptables -p FORWARD DROP设定预设规则
[root@tp ~]# iptables -A INPUT -p tcp --dport 22 -j ACCEPT为了能采用远程SSH 登陆,我们要开启22端口.
[root@tp ~]# iptables -A INPUT -p icmp -j ACCEPT 允许icmp包通过,也就是允许ping,
IPTABLES -A INPUT -i lo -p all -j ACCEPT (如果是INPUT DROP)允许loopback!(不然会导致DNS无法正常关闭等问题)
[root@tp ~]# iptables -A FORWARD -o eth0 -m state --state NEW, ESTABLISHED, RELATED -j ACCEPT
[root@tp ~]# iptables -A FORWARD -O eth1 ESTABLISHED, RELATED -j ACCEPT开启转发功能,(在做NAT时,FORWARD默认规则是DROP时,必须做)
[root@tp ~]#iptables -A FORWARD -f -m limit --limit 100/s --limit-burst 100 -j ACCEPT处理IP碎片数量,防止攻击,允许每秒100个
[root@tp ~]#iptables -A FORWARD -p icmp -m limit --limit 1/s --limit-burst 10 -j ACCEPT设置ICMP包过滤,允许每秒1个包,限制触发条件是10个包.
[root@tp ~]#i ptables -t nat -A POSTROUTING -s 172.16.1.0/24-j SNAT --to xx.xx.xx.xx
[root@tp ~]#i ptables -t nat -A POSTROUTING -s 192.168.11.0/24 -j SNAT --to xx.xx.xx.xx
[root@tp ~]#i ptables -t nat -A POSTROUTING -s 192.168.10.0/24 -j SNAT --to xx.xx.xx.xx
设置源地址转换
步骤#5. 保存配置
[root@tp ~]# /etc/rc.d/init.d/iptablessave
如果不保存这些重启后就会失去作用。

相关文档
最新文档