文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>2009年8月3号SK--iptables

2009年8月3号SK--iptables

时间:2010-06-17  来源:linscora

uroute -n 查看路由表
TCP_wrapper
ALL: [::1]
netfilter 模块对ISO的2\3\4层做过滤。只对包头过滤。
cd /lib/modules/2.6.18-53.el5xen/kernel/net/ipv4/netfilter
使用就加载。不使用则不加载。
如:lsmod |grep ntfs
 我们是通过iptables这个接口来管理netfilter这个模块。
防火墙的过滤是内核中集成的。
防火墙是通一netfliter这个模块控制的。
mangle 透明代理
Prerouting :在路由判断这前做的判断

iptables -A INPUT -i eth+ -p tcp --dport 80 -j LOG --log-prefix "iptables_80_alert" --log_level info
iptables -A IPNUT -s 192.168.0.1 -j DROP
2.168.0.0/24 -j REJECT
-t  表的名称
-A  append(追加)链的名称  是表里面的一个元素
-s  表示源地址
-d  表示目的地址
-j   最后的动作
-L   查看iptables表内容
-vL  详细内容
iptables -t nat -L 查看nat表
iptables -L --line-numbers 为条目编号
iptables -I INPUT 9 -s 192.168.0.200 -j REJECT
-I 插入
eth+ 所有的接口
eth1+  eth1的所有子接口
-i eth0 -s '!' 192.168.0.0/24 反向选择
iptables -A FORWARD -s 192.168.2.1 -d 192.168.1.1
--p tcp --port 25 -j REJCEP
iptables -t nat PREPOSTING -i eth0
iptables -A INPUT -s 192.168.0.0/24 -p tcp --dport 25 -j ACCEPT
iptalbes -S OUTPUT -d 192.168.0.0/24 -p tcp --sport 25 -j ACCEPT
                                            --dport 1024:65535  1024到65535端口
                                                    1024:  大于1024号端口
                                                    :1024  小于1024号端口
1、要求允许192.168.0.0/24通过eth0访问本机的smtp协议:
iptables -A INPUT -i eth0 -s 192.168.0.0/24 -p tcp --dport 25 -j ACCEPT
iptables -A OUTPUT -o eth0 -d 192.168.0.0/24 -p tcp --sport 25 -j ACCEPT
2、允许192.168.0.0/24可以通过pop3协议接收本机邮件
iptables -A INPUT -s 192.168.0.0/24 -p tcp --dport 100 -j ACCEPT
iptables -A OUTPUT -d 192.168.0.0/24 -p tcp --sport 100 -j ACCEPT
1 iptables -P INPUT DROP 默认策略 是最后执行的。 iptables -A INPUT -j REJECT  这条一定要写在最后面 iptables -F  刷新所有的策略  不能清空默认策略 iptables -Z  计数器清零 iptables -t nat -F  清除所有的nat策略 iptables -X  清除自定义链 iptables -N RHCE  自定链 iptables -A INPUT -j RHCE  把它加到最后面。 iptables -A RHCE -s 192.168.1.0/24 -p tcp -dport 25 -j REJECT iptables -F RHCE iptables -X iptables -L service iptalbes stop  关闭了防火墙 状态跟踪防火墙
NEW : 第一次发起请求的数据包
ESTABLISHED: 己建立连接的数据包 RELATED: server 回应 client 的数据包 INVALID : 无效的数据包 状态跟踪的实验: iptables -A INPUT -s 192.168.0.0/24 -p tcp --dport 5900 -j ACCEPT
iptables -A OUTPUT -d 192.168.0.0/24 -p tcp --sport 5900 -j ACCEPT
iptables -P INPUT DROP 位置放到哪个地方无所谓
iptables -P OUTPUT DROP
iptables -A INPUT -j DROP  这两一定要放在最后面
iptalbes -A OUTPUT -j DROP
iptables -A INPUT -s 192.168.0.0/24 -p tcp --dport 21 -j ACCEPT
iptables -A OUTPUT -d 192.168.0.0/24 -p tcp --sport 21 -j ACCEPT
iptables -A INPUT -s 192.168.0.0/24 -p tcp --dport 20 -j ACCEPT
iptables -A OUTPUT -p 192.168.0.0/24 -p tcp --sport 20 -j ACCEPT
iptables -A INPUT  -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 25 -j ACCEPT
iptables -A INPUT -m state --state NEW -j DROP

iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
加载模块:
modprobe ip_conntrack_ftp
modprobe ip_conntrack_tfpt
modprobe ip_nat_ftp
modprobe ip_nat_tftp
iptables -P 不能用REJECT 默认策略不管怎么样都是在最后匹配。 iptables -p INPUT -j DROP
iptables -P OUTPUT -j DROP
iptables -A INPUT -s 192.168.0.15 -p tcp --dport 5900 -j ACCEPT
iptables -A OUTPUT -d 192.168.0.15 -p tcp --sport 5900 -j ACCEPT
iptables -I INPUT -j RHEL  把INPUT链丢到RHEL链 默认策略不能清空 service iptables save 把iptables的策略放入/etc/sysconfig/iptables 这样
下次重启才会生效。
vim /etc/sysconfig/iptables-config Network Address Translation (NAT) DNAT  外网用户访问内网时使用。
SNAT
INBOUND
iptalbes -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-dest 192.168.0.20
访问这里的80端口就转到192.168.0.20这台主机
OUTBOUND
iptables -t nat -A OUTPUT -p tcp --dport 80 -j DNAT --to-dest 192.168.0.200:3128
把往外发的80端口转到我们内网的192.168.0.200的3128端口去。
iptables -t nat -A PROTROUTING -o eth0 -j MASQUERADE iptables -t nat -A POSTOUTING -j SNAT --to-source 1.2.3.4
 
远程管理iptables:
at  恢复最后一次好的配置: 实验Server1 firewall/iptables.doc 
============================================================================
允许本网络的计算机可以访问到本防火墙的SSH服务,并且允许防火墙可以连接到网络中的其他任何计算机:
#SSH Server:
iptables -A INPUT -s 192.168.0.0/24 -p tcp --dport 22 -j ACCEPT  从192.168.0.0/24这个网段进来的。
iptables -A OUTPUT -d 192.168.0.0.24 -p tcp --sport 22 -j ACCEPT 出去到192.168.0.0/24这个网段的。
#SSH Client:
iptables -A OUTPUT -s 192.168.0.15 -p tcp --dport 22 -j ACCEPT 从我们本机出去的,对方端口为22号,我方随机
iptables -A INPUT -d 192.168.0.15 -p tcp --sport 22 -j ACCEPT  从我们本机进来的。对方端口为22号,我方随机
========================================================================================
允许本网络的计算机可以访问到本防火墙的SSH服务,并且允许防火墙可以连接到网络中的其他任何计算机:
iptables -A INPUT -s 192.168.0.0/24 -p icmp --icmp-type echo-request -j ACCEPT  外来的
iptables -A OUTPUT -s 192.168.0.0/24 -p icmp --icmp-type echo-reply -j ACCEPT   本机出的
==========================================================================================
#icmp request:
iptables -A INPUT -s 192.168.0.0/24 -p icmp --icmp-type 8 (echo-request) -j ACCEPT
iptalbes -A OUTPUT -d 192.168.0.0/24 -p icmp --icmp-type 0 (echo-reply) -j ACCEPT
#icmp echo:
  iptables -A OUTPUT -d 192.168.0.0/24 -p icmp --icmp-type 8 (echo-request) -j ACCEPT
==iptables -A OUTPUT -s 192.168.0.0/24 -p icmp --icmp-type 0 (echo-reply) -j ACCEPT
iptables -A INPUT -s 192.168.0.0/24 -p icmp --icmp-type 0 (echo-reply) -j ACCEPT ========================================================================
ping通127.0.0.1:
iptables -A INPUT -d 127.0.0.1 -p icmp --icmp-type echo-reply -j ACCEPT    允许来自本机的回应 (进)
iptables -A INPUT -d 127.0.0.1 -p icmp --icmp-type echo-request -j ACCEPT  允许来自本机的请求
iptables -A OUTPUT -s 127.0.0.1 -p icmp --icmp-type echo-reply -j ACCEPT   允许自由本机出的回应 (出)
iptables -A OUTPUT -s 127.0.0.1 -p ICMP --icmp-type echo-request -j ACCEPT 允许自由本机出的请求
ping通127.0.0.1的另一种方法:
iptables -A INPUT -s 127.0.0.1 -p icmp --icmp-type echo-reply -j ACCEPT    允许来自本机的回应   (进)
iptables -A INPUT -s 127.0.0.1 -p icmp --icmp-type echo-request -j ACCEPT  允许来自本机的请求
iptables -A OUTPUT -d 127.0.0.1 -p icmp --icmp-type echo-reply -j ACCEPT   允许去ping127.0.0.1这台主机   (出)
iptables -A OUTPUT -d 127.0.0.1 -p icmp --icmp-type echo-request -j ACCEPT 允许去ping127.0.0.1这台主机的请求
=========================================================================
主机192.168.0.15:
  service iptables start (iptables -P INPUT DROP;iptables -P OUTPUT DROP):
 service iptables stop
以下操作都在192.168.0.15上做: 一、只可以192.168.0.30ping通192.168.0.15,不可以192.168.0.15ping通192.168.0.30.用两种方法:  1、iptables -A INPUT -s 192.168.0.30 -p icmp --icmp-type echo-request -j ACCEPT
     iptables -A OUTPUT -d 192.168.0.30 -p icmp --icmp-type echo-reply -j ACCEPT
 2、iptables -A OUTPUT -s 192.168.0.15 -p icmp --icmp-type echo-reply -j ACCEPT
      iptables -A INPUT -d 192.168.0.15 -p icmp --icmp-type echo-request -j ACCEPT
二、只可以192.168.0.15ping通192.168.0.30,不可以192.168.0.30ping通192.168.0.15.用两种方法:
 1、iptables -A OUTPUT -s 192.168.0.15 -p icmp --icmp-type echo-request -j ACCEPT
      iptables -A INPUT -d 192.168.0.15 -p icmp --icmp-type echo-reply -j ACCEPT
 2、iptables -A INPUT -s 192.168.0.30 -p icmp --icmp-type echo-reply -j ACCEPT
     iptables -A OUTPUT -d 192.168.0.30 -p icmp --icmp-type echo-request -j ACCEPT
request:请求 8
reply :回应 0
==========================================================================
iptables -A OUTPUT -s 192.168.0.15 -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -d 192.168.0.15 -p tcp --sport 22 -j ACCEPT==iptable -A INPUT -s 192.168.0.30 -p tcp --dport 22 -j ACCEPT
  环境:192.168.0.30 (service iptables stop)  ftp_client
      192.168.0.15 (service iptables start;iptables -P INPUT DROP;iptables -P OUTPUT DROP)  ftp_server
要求:ftp_client > ftp_server  iptables -A INPUT -d 192.168.0.30 -p tcp -j ACCEPT
  iptables -A INPUT -s 192.168.0.30 -p tcp -j ACCEPT
 iptables -A OUTPUT -d 192.168.0.30 -p tcp -j ACCEPT  
 iptables -A OUTPUT -s 192.168.0.15 -p tcp -j ACCEPT
  iptables -A INPUT -s 192.168.0.30 -d 192.168.0.15 -p tcp --dport 21 --sport 1024: -j ACCEPT
iptables -A OUTPUT -s 192.168.0.15 -d 192.168.0.30 -p tcp --dport 1024: --sport 21 -j ACCEPT
iptables -A OUTPUT -d 192.168.0.30 -s 192.168.0.15 -p tcp --sport 1024: --dport 1024: -j ACCEPT
iptables -A INPUT -s 192.168.0.15 -d 192.168.0.30 -p tcp --dport 1024: --sport 1024: -j ACCEPT
建立起命令通道:
iptables -A INPUT -s 192.168.0.0/24 -p tcp --dport 21 -j ACCEPT 
iptables -A OUTPUT -d 192.168.0.0/24 -p tcp --sport 21 -j ACCEPT
用主动模式建立数据通道:
iptables -A INPUT -s 192.168.0.0/24 -p tcp --dport 20 -j ACCEPT
iptables -A OUTPUT -d 192.168.0.0/24 -p tcp --dport 20 -j ACCEPT
建立被动通道:
iptables -A INPUT -s 192.168.0.0/24 -p tcp --dport 1024: -j ACCEPT
iptables -A OUTPUT -d 192.168.0.0/24 -p tcp --sport 1024: -j ACCEPT
状态跟踪:
iptables -A INPUT  -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

当internet的计算机访问eth0接口SSH服务时自动转发到内网计算机192.168.0.X:
iptables -t nat -A PREROUTING -i eth0 -j DNAT --to-dest 192.168.0.234

双网卡转发:
外网进内网:
iptables -t nat -A PREROUTING -i eth0 -j DNAT --to-dest 192.168.0.4
内网出外网:
iptables -t nat -A POSTROUTING -j SNAT --to-source 202.101.23.34
相关阅读 更多 +
排行榜 更多 +
幸存者的命运

幸存者的命运

飞行射击 下载
精英战区3d

精英战区3d

飞行射击 下载
货运猎人

货运猎人

飞行射击 下载