主要包含:: 命令表 用来增加(-A、-I)删除(-D)修改(-R)查看(-L)规则等;
常用参数 用来指定协议(-p)、源地址(-s)、源端口(–sport)、目的地址(-d)、目的端口(–dport)、
进入网卡(-i)、出去网卡(-o)等设定包信息(即什么样的包);
用来描述要处理包的信息。
常用处理动作 用 -j 来指定对包的处理(ACCEPT、DROP、REJECT、REDIRECT等)。
查看iptables规则
iptables -nL
-P参数:未符合过滤条件之封包,预设的处理方式。
iptables -P INPUT DROP
以上是说如果没符合INPUT里定义的规则,将会被丢弃。
-A, –append:增加规则
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
开启进站的80端口访问。
比如现在禁止外部访问本地所有端口,只开22:
iptables -P INPUT DROP iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT iptables -A INPUT -p tcp --dport 22 -j ACCEPT
因为tcp的双向性,不能单独的写:
iptables -P INPUT DROP iptables -A INPUT -p tcp --dport 22 -j ACCEPT
常规的服务器规则配置(lamp+PPTP环境):
这里是指只开放特定端口。
iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT iptables -A INPUT -p tcp --dport 22 -j ACCEPT //开启ssh iptables -A INPUT -p tcp --dport 80 -j ACCEPT //开启http iptables -A INPUT -p tcp --dport 1723 -j ACCEPT //开启pptp端口 ………………… //需要添加的都按上面的写出来 iptables -P INPUT DROP //只允许访问上面那些端口 /etc/init.d/iptables save //保存规则 service iptables restart //重启iptables服务
安装pptpd可以直接用安装脚本
pptp的转发规则已经写在脚本里了。
—————————————————————
iptables 插入
先看看规则的行数:
iptables -nL --line-number
插入一条规则到INPUT 第16行
iptables -I INPUT 16 -p tcp -m state --state NEW -m tcp --dport 8888 -j ACCEPT