iptables记录

来源:互联网 发布:c调用java webservice 编辑:程序博客网 时间:2024/04/30 03:38

iptables是Linux实现过滤包的一个应用程序,是打开服务器的最后一扇大门,也称 之为Linux的防火墙。使用得当,可以对访问的可疑IP实现控制,特别恶意攻击时直 接将其拒绝门外。

1.基础应用

安装位置 
[root@localhost ~]# which iptables

查看iptables状态
[root@localhost ~]# iptables -L

关闭iptables
[root@localhost ~]# service iptables stop

关闭iptables
[root@localhost ~]# service iptables start

iptables的自启动

chkconfig iptables on
chkconfig iptables off

2.基本用法

基本操作

-A(append) 在链尾添加一条规则;
-I(insert) 插入规则;
-D(delete) 删除规则;
-R(replace) 替代一条规则;
-L(list) 列出规则。

响应操作

ACCEPT 接收该数据报;
DROP 丢弃该数据报;
REJECT 拒绝该数据 有些OS是用的DENY

目标操作

-p(protocol) 指定协议(tcp/icmp/udp/...);
-s(source) 源地址(ip address/masklen);
-d(destination) 目的地址(ip address/masklen);
--sport 源端口 source port
--dport 目标端口 destination port
状态 -m state --state(INVALID,ESTABLISHED,NEW和RELATED)
INVALID 失效的连接
ESTABLISHED 已经建立的连接
NEW 新的连接
RELATED 相关的连接

规则链

– INPUT 输入
– OUTPUT 输出
– FORWARD filter
– PREROUTING nat(network address translator)
– POSTROUTING nat 查看>

删除

iptables -D INPUT 1
或者
iptables -D INPUT -s 192.168.2.137 -j DROP iptables -D OUTPUT -d 192.168.2.137 -j REJECT

清除所有规则

iptables -F

3.iptables的保存

[root@localhost ~]# iptables-save -c > ./kenyon.iptables.bak[root@localhost ~]# /etc/init.d/iptables save

示例:

开启ssh[root@localhost ~]# iptables -A INPUT -p tcp --dport 22 -j ACCEPT[root@localhost ~]# iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT--写两次防止OUT规则是DROP时开启开启80WEB端口[root@localhost ~]# iptables -A INPUT -p tcp --dport 80 -j ACCEPT开启邮件服务110端口[root@localhost ~]# iptables -A INPUT -p tcp --dport 110 -j ACCEPT开启FTP的21端口[root@localhost ~]# iptables -A INPUT -p tcp --dport 21 -j ACCEPT开启DNS的53端口[root@localhost ~]# iptables -A INPUT -p tcp --dport 53 -j ACCEPT开启5432端口[root@localhost ~]# iptables -A INPUT -p tcp --dport 5432 -j ACCEPT开启一段端口[root@localhost ~]# iptables -A INPUT -p tcp --dport 65520:65534 -j ACCEPT允许ping[root@localhost ~]# iptables -A OUTPUT -p icmp -j ACCEPT[root@localhost ~]# iptables -A INPUT -p icmp -j ACCEPT关闭其他端口[root@localhost ~]# iptables -A OUTPUT -p tcp --sport 31335 -j DROP[root@localhost ~]# iptables -A OUTPUT -p tcp --dport 31335 -j DROP拒绝接受某个IP的包[root@localhost ~]# iptables -A INPUT -s 192.168.2.137 -j DROP拒绝发送到某个IP的包[root@localhost ~]# iptables -A OUTPUT -d 192.168.2.137 -j REJECT拒绝接受某一段IP的包[root@localhost ~]# iptables -A INPUT -s 192.168.2.0/24 -j DROP拒绝某个mac地址的包(不能用在output和postrouting)[root@localhost ~]# iptables -A INPUT -m mac --mac-source 00:0C:29:AB:4B:FF -j DROP允许已经建立的和相关的连接[root@localhost ~]# iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT[root@localhost ~]# iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

份备己用。

0 0
原创粉丝点击