2

CentOS7 安装 iptables 与详细使用

安装操作

检查状态

先检查是否安装了iptables

$ service iptables status

安装iptables

$ yum install iptables

升级iptables

$ yum update iptables 

安装iptables-services

$ yum install iptables-services

编辑配置

$ vi /etc/sysconfig/iptables-config

添加配置

  • 示例:开放RabbitMQ 的 对外端口
iptables -I INPUT -p tcp --dport 5672 -j ACCEPT
iptables -I INPUT -p tcp --dport 15672 -j ACCEPT

保存配置

$ service iptables save

更多操作请往下阅读

重启服务

systemctl restart iptables.service

更多详细配置规则

编辑配置

$ vi /etc/sysconfig/iptables-config

规则操作

查看iptables现有规则

iptables -L -n

允许所有

iptables -P INPUT ACCEPT

允许IO访问

允许来自于lo接口的数据包(本地访问)

iptables -A INPUT -i lo -j ACCEPT

开放443端口(TCP)

iptables -A INPUT -p tcp --dport 443 -j ACCEPT

开放443端口(FTP)

iptables -A INPUT -p tcp --dport 443 -j ACCEPT

开放80端口(HTTP)

iptables -A INPUT -p tcp --dport 80 -j ACCEPT

开放443端口(HTTPS)

iptables -A INPUT -p tcp --dport 443 -j ACCEPT

允许ping

iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT

允许响应

允许接受本机请求之后的返回数据 RELATED,是为FTP设置的

iptables -A INPUT -m state --state  RELATED,ESTABLISHED -j ACCEPT

入站一律丢弃

iptables -P INPUT DROP

出站全部允许

iptables -P OUTPUT ACCEPT

转发一律丢弃

iptables -P FORWARD DROP

更多常用命令操作

清除规则

  • 清除已有iptables规则
iptables -F #清空所有默认规则
iptables -X #清空所有自定义规则
iptables -Z #所有计数器归0

保存配置

$ service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[  OK  ]

开启服务

$ systemctl start  firewalld

检查状态

$ service iptables status

停止服务

$ systemctl stop firewalld

重启服务

$ systemctl restart iptables.service

查看规则

iptables -L -n
  • v:显示详细信息,包括每条规则的匹配包数量和匹配字节数
  • x:在 v 的基础上,禁止自动单位换算(K、M) vps侦探
  • n:只显示IP地址和端口号,不将ip解析为域名

标记显示

  • 将所有iptables以序号标记显示
$ iptables -L -n --line-numbers
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination         
1    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:15672
2    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:5672

删除规则

  • 比如要删除INPUT里序号为1的规则
iptables -D INPUT 1

禁用服务

$ systemctl mask firewalld

开机启动

systemctl enable iptables.service 

Contact

  • 作者:鹏磊
  • 出处:http://www.ymq.io
  • Email:admin@souyunku.com
  • 版权归作者所有,转载请注明出处
  • Wechat:关注公众号,搜云库,专注于开发技术的研究与知识分享

关注公众号-搜云库


架构师专栏
6.2k 声望7k 粉丝