IP6tables
IP6tables
ip6tables通常是用来建立、维护、检查linux内核IPv6包过滤表的,语法在各方面都和 iptables相同,只不过 ip6tables支持128位的地址。
(1)清理旧规则:
#ip6tables [-FXZ] 参数说明:
-F:清除所有的已订定的规则;
-X:杀掉所有使用者建立的表(table)。
-Z:将所有的链(chain)的计数与流量统计都归零。
(2)建立政策
& a$ S4 p) e$ w- ~$ X2 `% h
#ip6tables [-t tables] [-P]
[INPUT,OUTPUT,FORWARD,PREROUTING,OUTPUT,POSTROUTING]
[ACCEPT,DROP] [-p TCP,UDP] [-s IP/network] [--sport ports] [-d IP/network][--dport ports] -j
参数说明:
-t :定义表( table)。
tables:table表的名称,
-P :定义政策( Policy )。
INPUT :数据包为输入主机的方向;
OUTPUT:数据包为输出主机的方向;
FORWARD:数据包为不进入主机而向外再传输出去的方向;
PREROUTING:在进入路由之前进行的工作;
OUTPUT :数据包为输出主机的方向;
POSTROUTING:在进入路由之后进行的工作。
TCP:TCP协议的数据包。 UDP:UDP协议的数据包;
-s :来源数据包的 IP或者是 网络。
--sport:来源数据包的端口( port)号。
-d :目标主机的 IP或者是网络。
--dport:目标主机端口的 (port) 号。
ACCEPT:接受该数据包。
DROP :丢弃数据包。
基本防火墙策略与常用命令
IP6Tables使用策略(policy, -P)来创建默认规则。对安全敏感的管理员通常想采取放弃所有分组、只逐一允许指定分组的策略。以下规则阻塞网络上所有的出入分组。
Ip6tables -P INPUT DROP
Ip6tables -P OUTPUT DROP
此外,还推荐拒绝所有转发分组(forwarded packets) 以便限制内部客户对互联网的无心暴露。要达到这个目的,使用以下规则:
Ip6tables -P FORWARD DROP
对每一个报文,ip6tables依次测试每一条规则,看报文与规则是否相匹配。一旦找到一条匹配的规则,就根据此规则中指定的行动,对报文进行处置,而对后面的规则不再进行测试。
一些基本命令:
列出目前的ip策略.
Ip6tables -L
允许接受到的所有目标端口为22(SSH的默认端口)的TCP报文通过 Ip6tables -A INPUT -p tcp -i eth0 --dport ssh -j ACCEPT
开放端口80
Ip6tables -A INPUT -p tcp -i eth0 --dport 80 -j ACCEPT
阻止来自某一特定IP范围内的数据包
ip6tables -t filter -A INPUT -s ::123.456.789.0 -j DROP
阻止所有流向攻击者IP地址的数据包
ip6tables -t filter -A OUTPUT -d ::123.456.789.0 -j DROP
删除现有的规则
ip6tables -t filter -D OUTPUT -d ::123.456.789.0 -j DROP
阻止所有没有经过你系统授权的TCP连接
ip6tables -t filter -A INPUT -i eth0 -p tcp --syn -j DROP
限制一些流出的信息
IP6TABLES -A OUTPUT -o eth0 -p tcp -dport 31337 -j DROPIP6TABLES -A OUTPUT -o eth0 -p tcp -sport 31337 -j DROP
丢弃那些流入的宣称是来自一些地址的数据包
IP6TABLES -A INPUT -i eth0 -s ::192.168.1.0 -j DROP
丢弃那些流出的不是出自一些地址的数据包
IP6TABLES -A OUTPUT -o eth0 -s ! ::192.168.1.0 -j DROP
支持多端口,最多不能超过15个
ip6tables–A FORWARD–p TCP–m multiport --dport 21,22,23,24–j DROP
这些命令在ubuntu上试了都好使,我把上次的iptables一块给你发过去吧,把Iptables命令中的iptables换成iptables就行。