iptables进阶配置

网友投稿 637 2022-09-24 07:55:01

iptables进阶配置

含有四张表 内核为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

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:dos2unix or unix2dos
下一篇:强生吗丁啉携手《家味》IP,揭开春节营销的秘诀!
相关文章