iptables简单使用

1、安装iptables

yum install iptables-services

2、iptables简单使用

iptables防火墙文件路径/etc/sysconfig/iptables

systemctl start iptables  #启动服务

systemctl stop iptables  #停止服务

systemctl restart iptables  # 重启服务

systemctl enable iptables  #设置iptables为开机启动项

3、规则

规则(rules)其实就是网络管理员预定义的条件,规则一般的定义为“如果数据包头符合这样的条件,就这样处理这个数据包”。规则存储在内核空间的信息 包过滤表中,这些规则分别指定了源地址、目的地址、传输协议(如TCP、UDP、ICMP)和服务类型(如HTTP、FTP和SMTP)等。

当数据包与规则匹配时,iptables就根据规则所定义的方法来处理这些数据包,如放行(accept),拒绝(reject)和丢弃(drop)等。配置防火墙的主要工作是添加,修改和删除等规则。

其中:

匹配(match):符合指定的条件,比如指定的 IP 地址和端口。

丢弃(drop):当一个包到达时,简单地丢弃,不做其它任何处理。

接受(accept):和丢弃相反,接受这个包,让这个包通过。

拒绝(reject):和丢弃相似,但它还会向发送这个包的源主机发送错误消息。这个错误消息可以指定,也可以自动产生。

目标(target):指定的动作,说明如何处理一个包,比如:丢弃,接受,或拒绝。

跳转(jump):和目标类似,不过它指定的不是一个具体的动作,而是另一个链,表示要跳转到那个链上。

规则(rule):一个或多个匹配及其对应的目标。

4、实际应用

  4.1、安装完成后修改默认配置

#### 关闭防火墙

/usr/bin/systemctl stop iptables

#### 清除当前所有链表规则

iptables -F

#### 清除用户自定义引用计数为0的空链

iptables -X

#### 设置默认策略为全部 DROP

iptables -P INPUT DROP

iptables -P OUTPUT DROP

iptables -P FORWARD DROP

#### 接受本地回环地址

iptables -A INPUT -i lo -j ACCEPT

iptables -A OUTPUT -o lo -j ACCEPT

iptables -A INPUT -s 127.0.0.0/8 -j DROP

#### 接收入站 出站已经建立的连接

iptables -A OUTPUT -p tcp -m state --state NEW,ESTABLISHED -j ACCEPT

iptables -A OUTPUT -p udp -m state --state NEW,ESTABLISHED -j ACCEPT

# start commented by xujunyang

# iptables -A OUTPUT -p icmp -m state --state NEW,ESTABLISHED -j ACCEP

# end commented

# start added

iptables -A OUTPUT -p icmp -m state --state NEW,ESTABLISHED -j ACCEPT

# end added by xujunyang

iptables -A INPUT -p tcp -m state --state ESTABLISHED -j ACCEPT

iptables -A INPUT -p udp -m state --state ESTABLISHED -j ACCEPT

iptables -A INPUT -p icmp -m state --state ESTABLISHED -j ACCEPT

 

iptables-save > /etc/sysconfig/iptables

 

#### 重启iptables 防火墙

/usr/bin/systemctl start iptables

/usr/bin/systemctl enable iptables

   4.2、使用

#开放指定端口给指定主机(多个主机之间用,隔开)

iptables -A INPUT -p tcp -s [主机] --dport [端口] -j ACCEPT

#开放端口给所有主机

iptables -I INPUT -p tcp --dport [端口] -j ACCEPT

#开放所有端口给指定ip

iptables -A INPUT -s [主机] -p all -j ACCEPT

注意每次使用命令行操作都需要执行保存然后重启iptables

service iptables save

systemctl restart iptables

直接操作文件的话执行重启即可

systemctl restart iptables

 

posted @ 2021-07-16 16:18  卯仙  阅读(270)  评论(0编辑  收藏  举报