含有四张表 内核为2.6的。。。
 
管理和设置IPTABLES 规则   严格区分大小写。。。。
             小写            大写                        大写
iptables [-t 表名] 管理选项【链名】【条件匹配】【-j 目标动作或跳转】
 
 
 
注意: 
      不指定表名时,默认表示filter表
      不指定链名时,默认表示该表内所有链
      除非设置规则连的缺省策略,否则需要指定匹配的条件。
 
 
SNAT 
  
 
   iptables -t nat -A POSTROUTING -s 192.168.1.2 -o eth0 -j SNAT --to-source 202.196.10.1
 
 
DNAT 
 
  iptables -t nat -A PREROUTING -p tcp -d 202.193.10.1 --dport 80 -i eth0  -j DNAT 
--to-destination 192.168.1.2
 
 
动态SNAT
  
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o ppp0 -j MASQUEADE
 
 
删除连中的规则
                            链名
:    iptables -t nat -D POSTROUTING 2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
修改默认策略:
 
   iptables -t filter -P FORWARD DROP  修改forward改为拒绝
 
 
 
 
 
 
 
防火墙的脚本:
 
 
 
防火墙脚本的一般结构
 
 
1.设置网段,网卡,IP地址等变量。
2.加载包过滤相关的内核模块
   FTP 相关:ip_nat_ftp,ip_conntrack_ftp
   Mail相关:ip_nat_irc,ip_conntrack_irc
 
3.确认开启路由转发功能
 1:/sbin/sysctl -w net.ipv4.ip_forward=1
 2. echo 1 > /proc/sys/net/ipv4/ip_forward
 3.修改/etc/sysctl.conf 设置net.ipv4.ip_forward=1
 
 
4.用于添加的具体防火墙规则内容
   
 
 
shell编程基础
 
条件测试操作
 
test命令
 
用途:测试特定的表达式是否成立,当条件成立时,命令实行后的
   返回值为0,否则为其他数值
 
格式1:test 条件表达式
 
格式2:【 条件表达式 】  比较常用
 
 
 
常见的测试类型
 
测试文件状态
 
【 操作符 文件或目录】
常用的测试符
 
-d :测试是否为目录
-e:测试目录或文件是否存在
-f:测试是否为文件
-r:测试当前用户是否有权限读取
-w:测试当前用户是否有权限写入
-x:测试当前用户是否可实行该文件
-L:测试是否为符号链接文件。
 
字符串比较
 
 
格式: 【字符串1 = 字符串2 】
        【字符串1 != 字符串2 】
        【-z 字符串 】
 
常用的测试操作符
 
-z :字符串内容为空
 
 
整数值比较
 
格式:【整数1 操作符 整数2】
 
 
常用的测试操作符
 
-eq:等于
-ne:不等于
-gt:大于
-lt:小于
-le:小于或者等于
-ge:大于或者等于
 
 
 
 
 
 
 
逻辑测试
 
 
 
 
【表达式1】  操作符 【表达式2】
 
常用的测试操作符
-a或&& :逻辑与,而且的意思
   两个表达式都成立时整个测试结果才为真
-o或||:逻辑或,或者的意思
    至少一个为真时,结果为真。
 
!:逻辑否
   
   当指定的条件不成立时,返回结果为真。
 
 
 
 
 
 
 
if条件语句 =====单分支
 
 
当“条件成立”时实行相应的操作
 
if 条件测试命令             if 磁盘已用空间>80%
   then 命令系列                   then 报警
fi                          fi
 
 
if条件语句=======双分支
 
当条件成立,条件不成立实行不同的操作
 
 
if 条件测试命令                  if 3306端口是否在监听        
   then 命令系列1                    then mysqld服务已经运行
    else 命令系列2                    else 启动mysqld服务
 
fi                              fi
 
 
多分支结构
 
 
 
 
 
for循环语句
重复变量的不同取值,重复实行一组命令操作
 
   for 变量名 in 取值列表               for 收件人 in 邮件地址列表
   do                                     do
       命令系列                                 发送邮件
   done                                   done
 
 
 
while循环语句
 
while 命令或表达式           while 可用内存《100MB
 
do                            do 
                                       
 
    命令列表                       获取可用内存数
 
done        
                              done