文档库 最新最全的文档下载
当前位置:文档库 › iptables系统配置防火墙和NAT功能的实例学习

iptables系统配置防火墙和NAT功能的实例学习

iptables系统配置防火墙和NAT功能的实例学习
iptables系统配置防火墙和NAT功能的实例学习

iptables系统配置防火墙和NAT功能的实例学习

来源: ChinaUnix博客日期:2007.11.01 11:55(共有0条评论) 我要评论

关于Slackware 9.1.0 的配置说明

*********************************************************

* *

*******关于防火墙系统恢复操作和启动方法说明*******************

* *

*********************************************************

该系统主要作用就是对内部服务器作静态nat映射和端口访问控制。

在防火墙中,系统启动时已经自动启动了以上防火墙脚本,启动位置为:/etc/rc.d/rc.local文件中,sh /etc/rc.d/nat_firewall.sh #在系统启动时自动启动该脚本

如果需要手动启用防火墙和静态nat映射功能,操作以下步骤即可。

cd /etc/rc.d/

./portnat.sh

如果用户不需要对内部服务器作任何端口控制,只需要作静态nat映射,只要执行以下文件,即可恢复不设防火墙状态。

cd /etc/rc.d/

./no_firewall.sh

**********************************************************

* *

****关于Slackware 9.1.0 系统配置防火墙和NAT功能的配置说明*****

****(nat_firewall.sh) *

**********************************************************

#!/bin/sh

# make:zcatlinux

# time:2004-06-18

# e-mail:

xuequansongmo@https://www.wendangku.net/doc/814605053.html,

PATH=/sbin:/bin:/usr/sbin:/usr/bin

#设置内部服务器对外的tcp端口,如果需要修改对内部访问的端口号,直接在这里修改即可,#添加规则就是之间端口号之间有一个空格就可以了。下面upd端口添加规则也一样

##tcp allow ports

TPORTS="80 22" #在远程只允许用户访问防火墙的22、80端口

#设置内部服务器对外的udp端口

##udp allow ports

UPORTS="53 123"

#设置防火墙对外网卡及ip地址

##config out_eth interface

OUT_ETH="eth1"

OUT_ETH_IP="202.138.164.110"

#设置防火墙外网卡的tcp端口

##set out_eth_ip(firewall out ip) ports

OUT_ETH_IP_PORTS="22" #在远程只允许用户访问防火墙的22端口

#设置防火墙对内网卡及ip地址

##config in_eth interface

IN_ETH="eth0"

IN_ETH_IP="10.10.11.110"

#设置防火墙内部服务器的ip地址段

##internal ip range

SERVER_IP="10.10.11.0/24"

1、系统对ip传发包的配置文件初始化操作,输入值为0表示不转发,1为开启转发功能,此处需要初始化为0

#Disable forwarding

echo 0 > /proc/sys/net/ipv4/ip_forward

#即初始化iptables规则列表。

#reset default policies

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所有规则

##del all iptables rules

iptables -F INPUT ##删除iptables中INPUT规则

iptables -F FORWARD ##删除iptables中FORWARD规则

iptables -F OUTPUT ##删除iptables中OUTPUT规则

#清空所有规则链

##clean all non-default chains

iptables -X

iptables -t nat -X

#定义iptables安全的默认规则

##iptables default rules

iptables -P INPUT DROP ##拒绝所有外部发往本机的数据包,即禁止所有对内部的数据包通过iptables -P FORWARD DROP ##不允许所有数据包转发

iptables -P OUTPUT ACCEPT ##允许所有内部发往外部的包通过

#允许icmp包通过,即允许ping

##allow ping packets

iptables -A INPUT -p ICMP -s 0/0 --icmp-type 0 -j ACCEPT

iptables -A INPUT -p ICMP -s 0/0 --icmp-type 3 -j ACCEPT

iptables -A INPUT -p ICMP -s 0/0 --icmp-type 5 -j ACCEPT

iptables -A INPUT -p ICMP -s 0/0 --icmp-type 8 -j ACCEPT

iptables -A INPUT -p ICMP -s 0/0 --icmp-type 11 -j ACCEPT

iptables -A INPUT -p ICMP -s 0/0 --icmp-type 11 -j ACCEPT

#当建立联机状态时,允许数据互相转发。其中,ESTABLISHED表示该封包属于某个已经建立的联机,#RELATED 表示该封包是属于某个已经建立的联机,所建立的新联机。

##enable forwarding

iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT ##允许要求联机封包或响应封包之间转发包

#数据包状态为联机和响应状态时允许进入

##STATE RELATED for router

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT ##允许要求联机封包或响应封包进入

#允许源地址为服务器ip段发往防火墙内网卡的包进入

##accept internal packets on the internal i/f

iptables -A INPUT -i $IN_ETH -s $SERVER_IP -p tcp -j ACCEPT

#控制防火墙本身对外ip地址的端口

##accept firewall out eth ip ports

for OEP in $OUT_ETH_IP_PORTS

do

iptables -A INPUT -d $OUT_ETH_IP -p tcp --destination-port $OEP -j ACCEPT

#控制内部服务器对外的端口

##open ports on router for server/services

#TCP PORTS(tcp类型的端口)

for ATP in $TPORTS

do

#允许源地址为非内部服务器段的所有ip,目的地址为内部服务器ip的tcp端口的连接包进入

iptables -A INPUT ! -s $SERVER_IP -d $SERVER_IP -p tcp --destination-port $ATP -j ACCEPT

iptables -A FORWARD -p tcp --destination-port $ATP -j ACCEPT #被允许目的端口连接之间互相传送数据包

done

#UDP PORTS(udp类型的端口)

for AUP in $UPORTS

do

iptables -A INPUT -p udp --destination-port $AUP -j ACCEPT

iptables -A FORWARD -p udp --destination-port $AUP -j ACCEPT

done

#在对内访问的连接中,只要是INVALID(即无效的连接)就丢弃该包

##bad_packets chain

##drop INVALID packets immediately

#iptables -A INPUT -p ALL -m state --state INVALID -j DROP

#限制过滤规则的比对频率为每秒钟平均流量100个封包,将瞬间流量设定为一次最多处理100个封包(超过上限的封包将丢弃不予处理),防止有拒绝服务性的攻击,即洪水性的大量数据包攻击。

##limit SYN flood

#iptables -A INPUT -f -m limit --limit 100/s --limit-burst 100 -j ACCEPT##限制对内部封包的发

#iptables -A FORWARD -f -m limit --limit 100/s --limit-burst 100 -j ACCEPT##限制建立联机的转发包的速度

#允许本机Loopback 接口,即127.0.0.1

##allow loopback

iptables -A INPUT -i lo -p all -j ACCEPT

iptables -A OUTPUT -o lo -p all -j ACCEPT

#启动IP Forward 接口

##enable forwarding

echo 1 > /proc/sys/net/ipv4/ip_forward

#当本机做NAT时,在外网卡上面绑定多个静态映射的ip地址。如果要添加修改nat静态映射的ip地址,在这里按照规则添加即可

##config net-eth ip address

ifconfig eth0:1 202.138.164.101 netmask 255.255.255.128

ifconfig eth0:2 202.138.164.102 netmask 255.255.255.128

ifconfig eth0:3 202.138.164.103 netmask 255.255.255.128

ifconfig eth0:4 202.138.164.104 netmask 255.255.255.128

ifconfig eth0:5 202.138.164.105 netmask 255.255.255.128

ifconfig eth0:8 202.138.164.108 netmask 255.255.255.128

#设置做静态nat的映射规则。如果需要添加删除静态nat的条目,在这里修改添加即可。

##set static IP nat rule, POSTROUTING/PREROUTING

##(snat)iptables -t nat -A POSTROUTING -j SNAT --to 202.202.210.10

##(dnat)iptables -t nat -A PREROUTING -j DNAT --to 10.10.10.10

#

iptables -t nat -A POSTROUTING -s 10.10.11.101 -j SNAT --to 202.138.164.101##收到的源ip地址为10.10.10.101的数据包进行源NAT(SNAT)

iptables -t nat -A PREROUTING -d 202.138.164.101 -j DNAT --to 10.10.11.101##收到的目的ip为202.38.64.101的所有数据包进行目的NAT(DNAT)

iptables -t nat -A POSTROUTING -s 10.10.11.102 -j SNAT --to 202.138.164.102

iptables -t nat -A PREROUTING -d 202.138.164.102 -j DNAT --to 10.10.11.102

iptables -t nat -A POSTROUTING -s 10.10.11.103 -j SNAT --to 202.138.164.103

iptables -t nat -A PREROUTING -d 202.138.164.103 -j DNAT --to 10.10.11.103

iptables -t nat -A POSTROUTING -s 10.10.11.104 -j SNAT --to 202.138.164.104

iptables -t nat -A PREROUTING -d 202.138.164.104 -j DNAT --to 10.10.11.104

iptables -t nat -A POSTROUTING -s 10.10.11.105 -j SNAT --to 202.318.164.105

iptables -t nat -A PREROUTING -d 202.138.164.105 -j DNAT --to 10.10.11.105

iptables -t nat -A POSTROUTING -s 10.10.11.108 -j SNAT --to 202.138.164.108

iptables -t nat -A PREROUTING -d 202.138.164.108 -j DNAT --to 10.10.11.108

********************************************************************

* *

**********附:删除防火墙规则只做nat的文件说明(no_firewall.sh)**********

* *

********************************************************************

#!/bin/sh

PATH=/sbin:/bin:/usr/sbin:/usr/bin

#删除iptables所有规则

##del all iptables rules

iptables -F INPUT ##删除iptables中INPUT规则

iptables -F FORWARD ##删除iptables中FORWARD规则

iptables -F OUTPUT ##删除iptables中OUTPUT规则

#清空所有规则链

##clean all non-default chains

iptables -X

iptables -t nat -X

##对所有连接包都做默认接受处理,即不作任何控制

#reset the default policies in the nat table.

#

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

##打开ip forward转发接口

echo 1 > /proc/sys/net/ipv4/ip_forward

本文来自ChinaUnix博客,如果查看原文请点:

https://www.wendangku.net/doc/814605053.html,/u/15067/showart_412205.html

IPTABLES 规则(Rules)

二、IPTABLES 规则(Rules)
牢记以下三点式理解 iptables 规则的关键:
? ? ?
Rules 包括一个条件和一个目标(target) 如果满足条件,就执行目标(target)中的规则或者特定值。 如果不满足条件,就判断下一条 Rules。
目标值(Target Values)
下面是你可以在 target 里指定的特殊值: ACCEPT – 允许防火墙接收数据包 ? DROP – 防火墙丢弃包 ? QUEUE – 防火墙将数据包移交到用户空间 ? RETURN – 防火墙停止执行当前链中的后续 Rules, 并返回到调用链(the calling chain)中。 如果你执行 iptables --list 你将看到防火墙上的可用规则。 下例说明当前系统没 有定义防火墙,你可以看到,它显示了默认的 filter 表,以及表内默认的 input 链, f orward 链, output 链。 # iptables -t filter --list Chain INPUT (policy ACCEPT) target prot opt source destination
?
Chain FORWARD (policy ACCEPT) target prot opt source Chain OUTPUT (policy ACCEPT) target prot opt source 查看 mangle 表: # iptables -t mangle --list 查看 NAT 表: # iptables -t nat --list 查看 RAW 表:
destination
destination
# iptables -t raw --list /!\注意:如果不指定-t 选项,就只会显示默认的 filter 表。因此,以下两种命令形 式是一个意思: # iptables -t filter --list (or) # iptables --list 以下例子表明在 filter 表的 input 链, forward 链, output 链中存在规则:

华为防火墙NAT配置命令

私网用户通过NAPT方式访问Internet (备注:在这种环境中,外网只能ping通外网口,公网没有写入到内网的路由,所以前提是内网只能ping通外网口,但走不到外网口以外的网络,做了NAT之后,内网可以通外网任何网络,但是外网只能ping到本地内网的外网口。) 本例通过配置NAPT功能,实现对少量公网IP地址的复用,保证公司员工可以正常访问Internet。组网需求 如图1所示,某公司内部网络通过USG9000与Internet相连,USG9000作为公司内网的出口网关。由于该公司拥有的公网IP地址较少(202.169.1.21~202.169.1.25),所以需要利用USG9000的NAPT功能复用公网IP地址,保证员工可以正常访问Internet。 图1 配置私网用户通过NAPT方式访问Internet组网图 配置思路 1.完成设备的基础配置,包括配置接口的IP地址,并将接口加入安全区域。 2.配置安全策略,允许私网指定网段访问Internet。 3.配置NAT地址池和NAT策略,对指定流量进行NAT转换,使私网用户可以使用公网IP 地址访问Internet。 4.配置黑洞路由,防止产生路由环路。

操作步骤 1.配置USG9000的接口IP地址,并将接口加入安全区域。 # 配置接口GigabitEthernet 1/0/1的IP地址。 system-view [USG9000] interface GigabitEthernet 1/0/1 [USG9000-GigabitEthernet1/0/1] ip address 10.1.1.10 24 [USG9000-GigabitEthernet1/0/1] quit # 配置接口GigabitEthernet 1/0/2的IP地址。 [USG9000] interface GigabitEthernet 1/0/2 [USG9000-GigabitEthernet1/0/2] ip address 202.169.1.1 24 [USG9000-GigabitEthernet1/0/2] quit # 将接口GigabitEthernet 1/0/1加入Trust区域。 [USG9000] firewall zone trust [USG9000-zone-trust] add interface GigabitEthernet 1/0/1 [USG9000-zone-trust] quit # 将接口GigabitEthernet 1/0/2加入Untrust区域。 [USG9000] firewall zone untrust [USG9000-zone-untrust] add interface GigabitEthernet 1/0/2 [USG9000-zone-untrust] quit 2.配置安全策略,允许私网网段10.1.1.0/24的用户访问Internet。 3.[USG9000] policy interzone trust untrust outbound 4.[USG9000-policy-interzone-trust-untrust-outbound] policy 1 5.[USG9000-policy-interzone-trust-untrust-outbound-1] policy source 10.1.1.0 0.0.0.255 6.[USG9000-policy-interzone-trust-untrust-outbound-1] action permit 7.[USG9000-policy-interzone-trust-untrust-outbound-1] quit [USG9000-policy-interzone-trust-untrust-outbound] quit

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

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的内网网卡接口的地址

ASA防火墙NAT转换方法

nat-control命令 在6.3的时候只要是穿越防火墙都需要创建转换项,比如:nat;static等等,没有转换项是不能穿越防火墙的,但是到了7.0这个规则有了变化,不需要任何转换项也能正常的像路由器一样穿越防火墙。但是一个新的命令出现了!当你打上nat-control这个命令的时候,这个规则就改变得和 6.3时代一样必须要有转换项才能穿越防火墙了。7.0以后开始nat-control是默认关闭的,关闭的时候允许没有配置NA T规则的前提下和外部主机通信,相当于路由器一样,启用NA T开关后内外网就必须通过NA T转换才能通信 1、定义外口 interface Ethernet0/0 进入端口 nameif outside 定义端口为外口 security-level 0 定义安全等级为0 no shut 激活端口 ip address ×.×.×.× 255.255.255.248 设置IP 2、定义内口 interface Ethernet0/1 nameif inside 定义端口为内 security-level 100 定义端口安去昂等级为100 no shut ip address 192.168.1.1 255.255.255.0 3、定义内部NA T范围。 nat (inside) 1 0.0.0.0 0.0.0.0 任何IP都可以NA T,可以自由设置范围。 4、定义外网地址池 global (outside) 1 10.21.67.10-10.21.67.14 netmask 255.255.255.240 或 global (outside) 1 interface 当ISP只分配给一个IP是,直接使用分配给外口的IP地址。5、设置默认路由 route outside 0 0 218.17.148.14指定下一条为IPS指定的网关地址 查看NA T转换情况 show xlate 要想配置思科的防火墙得先了解这些命令: 常用命令有:nameif、interface、ip address、nat、global、route、static等。 global 指定公网地址范围:定义地址池。 Global命令的配置语法: global (if_name) nat_id ip_address-ip_address [netmark global_mask] 其中: (if_name):表示外网接口名称,一般为outside。

防火墙透明模式做双向NAT案例

防火墙透明模式下做双向NAT典型配置 一、组网需求 如下图所示:某市银行通过外联路由器连接国税,地税等外联单位,通过骨干路由器连接银行骨干网。为了保证内网的安全,在外联单位和内网之间部署了一台USG防火墙,通过严格的规则限制内网和外联单位之间的互相访问。 具体需求如下: ●防火墙采用透明模式接入,不影响原有的网络结构和地址规划。G0/0/0连接内网核心交 换,TRUST区域,G0/0/1连接外联路由器,UNTRUST区域。 ●业务访问需求:外联单位只能够访问内网的业务前置机的特定端口。内网的业务前置机 和某些终端可以访问外联单位的业务主机。 ●对外联单位发布一个业务前置机的虚地址,对内网用户发布一个外联单位业务主机的虚 地址。 ●外联单位业务主机只允许固定的某个地址可以访问。 ●为了保证内网安全,不能在内网的核心三层交换机上配置到到外联单位的路由。 ●为了保证路由器性能,外联路由器只做路由转发,通过防火墙做NAT策略。 二、IP地址,NAT地址规划:

三、配置思路 配置USG的工作模式,并将接口加入相应安全区域。 配置域间防火墙策略。 配置Trust到Untrust的NA T Outbound. 配置Untrust到Trust的NA T Inbound. 配置NAT Server 四、操作步骤 1.配置USG5310的工作模式并将接口加入对应安全区域。 system-view [USG5310]firewall mode transparent 2.将接口加入安全区域 [USG5310]firewall zone trust [USG5310-zone-trust]add interface GigabitEthernet 0/0/0 [USG5310-zone-trust]quit [USG5310]firewall zone untrust [USG5310-zone-untrust]add interface GigabitEthernet 0/0/1 [USG5310-zone-untrust]quit

利用Iptables实现网络黑白名单防火墙怎么设置

利用Iptables实现网络黑白名单防火墙怎么设置 防火墙主要由服务访问规则、验证工具、包过滤和应用网关4个部分组成,防火墙就是一个位于计算机和它所连接的网络之间的软件或硬件。这篇文章主要介绍了详解Android 利用Iptables实现网络黑白名单(防火墙),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 具体步骤 二、Iptables网络黑白名单(防火墙)实现细节 因为考虑到一些权限的问题所以在实现方法上采用的是创建一个systemserver来运行这些方法。并提供出manager到三方应用,这样在调用时可以排除一些权限的限制。同时本文只是做一个简单的参考概述,所以在后文中只提供了增加黑白名单的方法和iptables规则,并没有提供相应的删除规则等,原理类似大家可自行补充添加。

2.1、创建systemserver 2.1.1、在/system/sepolicy/service.te中添加 type fxjnet_service, system_api_service, system_server_service, service_manager_type; 2.2.2、在/system/sepolicy/service_contexts中添加如下, fxjnet u:object_r:fxjnet_service:s0 2.2.3、在frameworks/base/core/java/android/content/Context.java中添加 也可以不添加这个,只不过为了后面调用方便所以添加了。如果跳过此步,那么后面出现Context.FXJNET_SERVICE的地方都用字串代替即可。 public static final String FXJNET_SERVICE="fxjnet";

iptables命令详解_共进电子

Iptables规则是如何练成的 本章将详细地讨论如何构建Iptables规则。Iptables 包含三个表(filter、nat 、mangle),默认使用filter表,每个表包含若干条链(PREROUTING,POSTROUTING,OUTPUT,INPUT和FORWARD),每条规则就添加到相应的链上。规则就是指向标,在一条链上,对不同的连接和数据包阻塞或允许它们去向何处。插入链的每一行都是一条规则。我们也会讨论基本的matche及其用法,还有各种各样的target。 流程图 1. 基础 我们已经解释了什么是规则,在内核看来,规则就是决定如何处理一个包的语句。如果一个包符合所有的条件(就是符合matche语句),我们就运行target 或jump指令。书写规则的语法格式是: iptables [-t table] command [chain] [match] [-j target/jump] 注意target指令必须在最后。如果你不想用标准的表,就要在[table]处指定表名。一般情况下没有必要指定使用的表,因为iptables 默认使用filter表来执行所有的命令。也没有必要非得在这里指定表名,实际上几乎可在规则的任何地

方。当然,把表名在开始处已经是约定俗成的标准。 尽管命令总是放在开头,或者是直接放在表名后面,我们也要考虑考虑到底放在哪儿易读。command告诉程序该做什么,比如:插入一个规则,还是在链的末尾增加一个规则,还是删除一个规则,下面会仔细地介绍。 Chain 指定表的哪条规则链。 match细致地描述了包的某个特点,以使这个包区别于其它所有的包。在这里,我们可以指定包的来源IP 地址,网络接口,端口,协议类型,或者其他什么。下面我们将会看到许多不同的match。 最后是数据包的目标所在。若数据包符合所有的match,内核就用target来处理它,或者说把包发往target。比如,我们可以让内核把包发送到当前表中的其他链(可能是我们自己建立的),或者只是丢弃这个包而没有什么处理,或者向发送者返回某个特殊的应答。下面有详细的讨论。 2. Tables 选项-t用来指定使用哪个表,它可以是下面介绍的表中的任何一个,默认的是filter表。 Table 2-1. Tables Table(表名)Explanation (注释) nat nat表的主要用处是网络地址转换,即Network Address Translation,缩写为NA T。做过NAT操作的数据包的地址就被改变了,当然这种改变是根据我们 的规则进行的。属于一个流的包只会经过这个表一次。如果第一个包被允许做 NA T或Masqueraded,那么余下的包都会自动地被做相同的操作。也就是说, 余下的包不会再通过这个表,一个一个的被NA T,而是自动地完成。这就是 我们为什么不应该在这个表中做任何过滤的主要原因。PREROUTING 链的作 用是在包刚刚到达防火墙时改变它的目的地址,如果需要的话。OUTPUT链 改变本地产生的包的目的地址。POSTROUTING链在包就要离开防火墙之前 改变其源地址。 mangle这个表主要用来mangle数据包。我们可以改变不同的包及包头的内容,比如TTL,TOS(服务类型)或MARK。注意MARK并没有真正地改动数据包, 它只是为包设了一个标记。防火墙内的其他的规则或程序(如tc)可以使用这 种标记对包进行过滤或高级路由。注意,mangle表不能做任何NAT,它只是 改变数据包的TTL,TOS或MARK,而不是其源目地址。NAT是在nat表中 操作的。 filter filter表是专门过滤包的,内建三个链,可以毫无问题地对包进行DROP、LOG、ACCEPT和REJECT等操作。FORW ARD链过滤所有不是本地产生的并且目

华为Eudemon防火墙NAT配置实例

[原创]华为Eudemon防火墙NAT配置实例Post By:2007-7-11 11:35:00 贴一下我公司里防火墙的配置,希望能够起到抛砖引玉的作用。具体外网IP和内网ARP绑定信息已经用“x”替代,请根据实际情况更换。“//”后面的部分是我导出配置后添加的注释。防火墙型号为华为Eudemon 200,E0/0/0口为外网接口,E0/0/1口为内网。另外此配置方法也完全适用于华为Secpath系列防火墙,略加改动也可适用于华为A R系列路由器。 ------------------------------------------传说中的分隔线------------------------------------------ # sysname Eudemon//设置主机名 # super password level 3 simple xxxxxxxx//Super密码为xxxxxxxx # firewall packet-filter default permit interzone local trust direction inbound firewall packet-filter default permit interzone local trust direction outbound firewall packet-filter default permit interzone local untrust direction inbound firewall packet-filter default permit interzone local untrust direction outbound firewall packet-filter default permit interzone local dmz direction inbound firewall packet-filter default permit interzone local dmz direction outbound firewall packet-filter default permit interzone trust untrust direction inbound firewall packet-filter default permit interzone trust untrust direction outbound firewall packet-filter default permit interzone trust dmz direction inbound firewall packet-filter default permit interzone trust dmz direction outbound firewall packet-filter default permit interzone dmz untrust direction inbound firewall packet-filter default permit interzone dmz untrust direction outbound//设置默认允许所有数据包通过 # 青岛IT社区提醒:本地交易眼见为实,当面验货!不要嫌麻烦!交易地点建议在人多地方,防止抢劫!

关于 iptables 入站 出站以及NAT实例

关于 iptables 入站出站以及NAT实例 本文是自己工作上的iptables笔记总结,适合的可以直接拿去用,不适合的,适当修改即可! iptbales默认ACCEPT策略,也称通策略,这种情况下可以做拦截策略,还有种叫堵策略,然后开放通的规则。(我偏向堵策略,自己需要开放什么在开,以下例子也是在此基础上的) iptables 一些参数名称: 四表五链:fifter表、NAT表、Mangle表、Raw表。 INPUT链、OUTPUT链、FORWARD链、PREROUTING链、POSTROUTING链 INPUT链–处理来自外部的数据。 OUTPUT链–处理向外发送的数据。 FORWARD链–将数据转发到本机的其他网卡设备上。 PREROUTING链–处理刚到达本机并在路由转发前的数据包。它会转换数据包中的目标IP地址(destination ip address),通常用于DNAT(destination NAT)。(NAT表需要开启linux路由 net.ipv4.ip_forward = 1) POSTROUTING链–处理即将离开本机的数据包。它会转换数据包中的源IP 地址(source ip address),通常用于SNAT(source NAT)。 OUTPUT链–处理本机产生的数据包。 iptables 新建时情况所有记录 iptables -F iptables -X iptables -F -t mangle iptables -t mangle -X iptables -F -t nat iptables -t nat -X 开放22 SSH端口 iptables -A INPUT -p tcp -p tcp --dport 22 -j ACCEPT (允许外部访问本机的22端口) iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT (有进就有出,IP包是来回的)

iptables的详细中文手册

一句一句解说 iptables的详细中文手册 (2009-06-02 22:20:02) 总览 用iptables -ADC 来指定链的规则,-A添加-D删除-C 修改 iptables - [RI] chain rule num rule-specification[option] 用iptables - RI 通过规则的顺序指定 iptables -D chain rule num[option] 删除指定规则 iptables -[LFZ] [chain][option] 用iptables -LFZ 链名[选项] iptables -[NX] chain 用-NX 指定链 iptables -P chain target[options] 指定链的默认目标 iptables -E old-chain-name new-chain-name -E 旧的链名新的链名 用新的链名取代旧的链名 说明 Iptalbes 是用来设置、维护和检查Linux内核的IP包过滤规则的。 可以定义不同的表,每个表都包含几个内部的链,也能包含用户定义的链。每个链都是一个规则列表,对对应的包进行匹配:每条规则指定应当如何处理与之相匹配的包。这被称作'target'(目标),也可以跳向同一个表内的用户定义的链。 TARGETS 防火墙的规则指定所检查包的特征,和目标。如果包不匹配,将送往该链中下一条规则检查;如果匹配,那么下一条规则由目标值确定.该目标值可以是用户定义的链名,或是某个专用值,如ACCEPT[通过], DROP[删除], QUEUE[排队], 或者RETURN[返回]。 ACCEPT 表示让这个包通过。DROP表示将这个包丢弃。QUEUE表示把这个包传递到用户空间。RETURN表示停止这条链的匹配,到前一个链的规则重新开始。如果到达了一个内建的链(的末端),或者遇到内建链的规则是RETURN,包的命运将由链准则指定的目标决定。 TABLES 当前有三个表(哪个表是当前表取决于内核配置选项和当前模块)。 -t table 这个选项指定命令要操作的匹配包的表。如果内核被配置为自动加载模块,这时若模块没有加载,(系统)将尝试(为该表)加载适合的模块。这些表如下:filter,这是默认的表,包含了内建的链INPUT(处理进入

iptables命令大全

数据包经过防火墙的路径 图1比较完整地展示了一个数据包是如何经过防火墙的,考虑到节省空间,该图实际上包了三种情况: 来自外部,以防火墙(本机)为目的地的包,在图1中自上至下走左边一条路径。 由防火墙(本机)产生的包,在图1中从“本地进程”开始,自上至下走左边一条路径 来自外部,目的地是其它主机的包,在图1中自上至下走右边一条路径。 图1 如果我们从上图中略去比较少用的mangle表的图示,就有图2所显示的更为清晰的路径图.

图2 禁止端口的实例 禁止ssh端口 只允许在192.168.62.1上使用ssh远程登录,从其它计算机上禁止使用ssh #iptables -A INPUT -s 192.168.62.1 -p tcp --dport 22 -j ACCEPT #iptables -A INPUT -p tcp --dport 22 -j DROP

?禁止代理端口 #iptables -A INPUT -p tcp --dport 3128 -j REJECT ?禁止icmp端口 除192.168.62.1外,禁止其它人ping我的主机 #iptables -A INPUT -i eth0 -s 192.168.62.1/32 -p icmp -m icmp --icmp-type echo-request -j ACCEPT #iptables -A INPUT -i eth0 -p icmp --icmp-type echo-request –j ?DROP 或 #iptables -A INPUT -i eth0 -s 192.168.62.1/32 -p icmp -m icmp --icmp-type 8 -j ACCEPT #iptables -A INPUT -i eth0 -p icmp -m icmp --icmp-type 8 -j DROP 注:可以用iptables --protocol icmp --help查看ICMP类型 还有没有其它办法实现? ?禁止QQ端口 #iptables -D FORWARD -p udp --dport 8000 -j REJECT 强制访问指定的站点

CiscoASA防火墙nat配置示例

ASA的NAT配置 1.nat-control命令解释 pix7.0版本前默认为nat-control,并且不可以更改 pix7.0版本后默认为no nat-control。可以类似路由器一样,直接走路由;如果启用nat-control,那就与pix7.0版本前同。 2.配置动态nat 把内部网段:172.16.25.0/24 转换成为一个外部的地址池 200.1.1.1-200.1.1.99 NAT配置命令 ASA(config)# nat (inside) 1 172.16.25.0 255.255.255.0 (定义源网段) ASA(config)# global (outside) 1 200.1.1.1-200.1.1.99 (定义地址池) 注意:id必须匹配,并且大于1,这里先使用1 检测命令: ASA(config)# show run nat ASA(config)# show run global ASA(config)# show xlate ASA(config)# show connect 3.配置PAT 把内部网段:172.16.26.0/24 转换成为一个外部的一个地址:200.1.1.149 NAT配置命令 ASA(config)# nat (inside) 2 172.16.26.0 255.255.255.0 (定义源网段) ASA(config)# global (outside) 2 200.1.1.149 (定义地址) ASA(config)# global (outside) 2 interface(或者直接转换为外网接口地址) 注意:id必须匹配,并且大于2,这里先使用2 4.配置static NAT 把内部网段:172.16.27.27/24 转换成为一个外部的一个地址:200.1.1.100 NAT配置命令 ASA(config)# static (inside,outside) 200.1.1.100 172.16.27.27 命令格式是内外对应的,红色的接口和红色的地址对应。 实际工作中的应用: static主要是为内部服务器提供服务,如:web、ftp、telnet、mail等等。 access-list WEB perminttcp any host 200.1.1.100 eq 80 access-list WEB in interface outside 应用ACL ASA(config)# static (inside,outside) tcp 200.1.1.100 80 172.16.27.27 80 ASA(config)# static (inside,outside) tcp interface 80 172.16.27.27 80 5.防止DOS攻击 防止外部对172.16.27.27/24 的攻击 ASA(config)# static (inside,outside) 200.1.1.100 172.16.27.27 tcp 100 1000 udp 1000 tcp 100 1000:表示正常tcp连接最大数量为100,半开连接最大的数量为1000。 udp 1000:表示正常udp连接最大的数量为1000,具体值设置为多少需要按工作中而定。 6.route配置 网关:200.1.1.254 LAN的网关:172.16.25.2/24

2018Linux防火墙iptables配置详解

2018-Linux防火墙iptables配置详解 一、开始配置 我们来配置一个filter表的防火墙. (1)查看本机关于IPTABLES的设置情况 [root@tp ~]# iptables -L -n Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination Chain RH-Firewall-1-INPUT (0 references) target prot opt source destination ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 255 ACCEPT esp -- 0.0.0.0/0 0.0.0.0/0 ACCEPT ah -- 0.0.0.0/0 0.0.0.0/0 ACCEPT udp -- 0.0.0.0/0 224.0.0.251 udp dpt:5353 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:631 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:80 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:25 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited 可以看出我在安装linux时,选择了有防火墙,并且开放了22,80,25端口. 如果你在安装linux时没有选择启动防火墙,是这样的 [root@tp ~]# iptables -L -n Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination 什么规则都没有. (2)清除原有规则. 不管你在安装linux时是否启动了防火墙,如果你想配置属于自己的防火墙,那就清除现在filter的所有规则. [root@tp ~]# iptables -F清除预设表filter中的所有规则链的规则 [root@tp ~]# iptables -X清除预设表filter中使用者自定链中的规则 我们在来看一下

juniper srx防火墙-nat实际现网配置实例

juniper srx防火墙-nat实际现网配置实例 SRX的NAT配置与ScreenOS显著不同,为保证系统的灵活性,SRX把NAT配置从安全策略里剥离出来,单独成为一个层次:即在SRX JUNOS中安全策略只负责控制业务数据的转发与否,NAT策略只控制业务数据的源地址和端口的翻译规则,两者各自独立。 SRX的NAT配置分为源地址翻译(source NAT), 目标地址翻译(destination NAT)和静态地址翻译(static NAT)三种,其配置语法都类似,只是nat rule必须被放到rule-set里使用,任意两个zone或任意两个网络逻辑接口之间只允许有一个rule-set。 值得注意的是SRX不会自动为NAT规则生成proxy-arp配置,因此如果NAT地址翻译之后的地址跟出向接口地址不同但在同一网络内时,必须手工配置相应接口proxy-arp以代理相关IP地址的ARP查询回应,否则下一条设备会由于不能通过ARP得到NAT地址的MAC地址而不能构造完整的二层以太网帧头导致通信失败。 配置: set security nat source rule-set src-nat from zone trust set security nat source rule-set src-nat to zone untrust set security nat source rule-set src-nat rule src-1 match source-address 192.168.1.0/24 set security nat source rule-set src-nat rule src-1 then source-nat interface set security nat destination pool 10-26-105-172-p1812 address 10.26.105.172/32 set security nat destination pool 10-26-105-172-p1812 address port 1812 set security nat destination rule-set dst-nat from zone ggsn set security nat destination rule-set dst-nat rule 30 match destination-address 10.0.0.173/32 set security nat destination rule-set dst-nat rule 30 match destination-port 1645 set security nat destination rule-set dst-nat rule 30 then destination-nat pool 10-26-105-172-p1812 set security nat destination rule-set dst-nat rule 40 match destination-address 10.0.0.173/32 set security nat static rule-set static from zone cmnet set security nat static rule-set static rule static-10 match destination-address 211.137.59.27/32 set security nat static rule-set static rule static-10 then static-nat prefix 10.26.105.170/32 set security nat proxy-arp interface reth2.0 address 211.137.59.27/32 set security nat proxy-arp interface reth0.0 address 10.0.0.173/32

防火墙nat实验步骤

一:基本网络top搭建 配置动态nat,实现网段10.0.0.0进行地址转换后访问172.16.1.1 注意:Host1和Host2都要设置网管,其中Host2设置网管是为了后续的测试。1:r1路由器端口ip的配置 R1#configure terminal R1(config)#interface loop0 R1(config-if)#ip address 10.1.1.1 255.255.255.0 R1(config-if)#no shutdown R1(config-if)#exit R1(config)#int loop1 R1(config-if)#ip address 10.2.2.2 255.255.255.0 R1(config-if)#no shutdown R1(config-if)#exit R1(config)#interface fastEthernet 0/0 R1(config-if)#ip address 10.3.3.1 255.255.255.0 R1(config-if)#no shutdown R1(config-if)#exit

2:配置asa各个端口 ciscoasa> enable Password: ciscoasa# configure terminal ciscoasa(config)# interface ethernet 0/0 ciscoasa(config-if)# ip address 10.3.3.2 255.255.255.0 ciscoasa(config-if)# no shutdown ciscoasa(config-if)# nameif inside ciscoasa(config-if)# security-level 100 ciscoasa(config-if)# exit ciscoasa(config)# interface ethernet 0/1 ciscoasa(config-if)# ip address 172.16.1.2 255.255.255.0 ciscoasa(config-if)# no shutdown ciscoasa(config-if)# nameif outside ciscoasa(config-if)# security-level 0 ciscoasa(config-if)# exit ciscoasa(config)# interface ethernet 0/2 ciscoasa(config-if)# ip address 192.168.100.2 255.255.255.0 ciscoasa(config-if)# no shutdown ciscoasa(config-if)# nameif dmz ciscoasa(config-if)# security-level 50 ciscoasa(config-if)# exit ciscoasa(config)# 3:配置各个主机的ip地址 在R1上的loop0和loop1模拟两台主机PC1和PC2, 使用两个虚拟机PC3做dmz区域的主机,PC4做internet中的主机在PC3上部署web服务 4:配置r1的路由 R1(config)#ip route 0.0.0.0 0.0.0.0 10.3.3.2 5:配置asa的路由 ciscoasa(config)# route inside 0 0 10.3.3.1 6:允许ping报文

相关文档