Iptables 简单入门

        Iptables是Linux提供的一个非常优秀的防火墙工具—。它完全免费、功能强大、使用灵活、可以对流入和流出的信息进行细化控制,且可以在一台低配置机器上很好地运行。本文将简单介绍的基础知识,以及使用Iptables实现共享上网。

iptables  常用命令

iptables  [-t  table] [command]  链名  [match] -j [target]

1.     [-t table]选项允许使用标准表之外的任何表。表是包含仅处理特定类型信息包的规则和链的信息包过滤表。有三个可用的表选项:filter、nat和mangle。该选项不是必需的,如果未指定,则filter作为缺省表。

 nat                        用于要转发的信息包 包括一下链
             POSTROUTING            出口 SNAT使用
             PREROTING              进口 DNAT,重定向 
filter                     用于一般的信息包过滤  包括以下链
             INPUT                  进入防火墙的流量
             OUTPUT                 从防火墙发出的流量
             FORWARD                通过防火墙的流量
mangle                     包含一些规则用于高级路由的信息

2.command部分是iptables命令最重要的部分。它告诉iptables命令要做什么,例如插入规则、将规则添加到链的末尾或删除规则

指令                         全部大写
                -A   --append                                                增加策咯                         
                -D    --delete    链名  编号                           删除策咯
                -I   --insert    链名  编号                              插入策咯
                -R   --replace  链名  编号                            替换策咯
                -F    --flush   刷空                                         清空策咯
                -P    --policy                                                  设置默认策略

3.匹配(match)

iptables命令的可选match部分指定信息包与规则匹配所应具有的特征(如源地址、目的地址、协议等)。匹配分为通用匹配和特定于协议的匹配两大类。这里将介绍可用于采用任何协议的信息包的通用匹配。

来源 
               -s 地址 / 范围 (子网  网络)
               -i 接口 (入口)
             目标
               -d  地址 / 范围 (子网   网络)
               -o  接口  (出口)
            协议
               -p tcp   --dport  --sport 
                  标志位 ( SYN ACK FIN RST URG PSH ALL NONE)
               -p tcp --tcp-flags
                  标志位 ( SYN ACK FIN RST URG PSH ALL NONE)
               -p
                 icmp 
                    --icmp-type [!] typename
                               echo-reply / 0
                                echo-request  /8

4.目标(target)

 ACCEPT  REJECT  DROP  SNAT  DNAT  REDIRECT(端口重定向)        MASQUERADE (SNAT)      

iptables 应用

[root@mail ~]# service iptables
 用法:/etc/init.d/iptables {start|stop|restart|condrestart|status|panic|save}

查看

[root@mail ~]# iptables -t [tables] -L -n -v

实例

为了保证较为严格的控制可设置默认策略为DROP

 [root@mail ~]# iptables -P INPUT DROP aksdfj
[root@mail ~]# iptables -P OUTPUT DROP
[root@mail ~]# iptables -P FORWARD DROP

允许192.168.101.130 sshd 登陆

iptables -t filter -A INPUT -s 192.168.101.130 -p tcp --dport 22  -m state --state NEW,ESTABLISHED -j ACCEPT
        iptables -t filter -A OUTPUT -d 192.168.101.130 -p tcp --sport 22 -m state --state NEW,ESTABLISHED -j ACCEPT

y允许192.168.2.0网段的客户机NAT转换             

      iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -o eth0 -j SNAT --to 192.168.101.100
              iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -o eth0 -j MASQUERADE
         设置192.168.101.100D NAT为192.168.2.100            

  iptables -t nat -A PREROUTING -d 192.168.101.100 -i eth0 -j DNAT --to 192.168.2.100 
      开启127.0.0.1 
              iptables -t filter -A INPUT -i lo -j ACCEPT
              iptables -t filter -A  OUTPUT -o lo -j ACCEPT
           开启ping 通过
              iptables -t filter -A INPUT -s 192.168.101.100 -p icmp --icmp-type echo-request(8) -j ACCEPT
              iptables -t filter -A OUTPUT -d 192.168.101.100 -p icmp --icmp-type echo-type echo-replay(0)  -j ACCEPT
           允许DNS的NAT转换和通过
              iptables -t nat -A POSTROUTING -m iprange --src-range 192.168.2.21-192.168.2.40 -m time --weekdays Mon,Tue,Wed,Thu,Fri --timestart 08:00 --timestop 20:00 -p udp --dport 53 -o eth0 -j MASQUERADE
              iptables -t filter -I FORWARD 2 -m iprange --src-range 192.168.2.21-192.168.2.40 -p udp --dport 53 -j ACCEPT

你可能感兴趣的:(linux,职场,iptables,概述,休闲)