CentOS系统使用iptables配置网卡端口ip信息
1. iptables简介
防火墙(Firewall)是一个架设在互联网与企业内网之间的信息安全系统,根据企业预定的策略来监控往来的传输。Linux系统的防火墙功能是由内核实现的,包过滤防火墙工作在TCP/IP的网络层,防火墙不属于应用程序,集成与内核空间,没有进程。
iptables的基本语法格式:
iptables [-t 表名] 命令选项 [链名] [条件匹配] [-j 目标动作或跳转]
说明:表名、链名用于指定 iptables命令所操作的表和链,命令选项用于指定管理iptables规则的方式(比如:插入、增加、删除、查看等;条件匹配用于指定对符合什么样 条件的数据包进行处理;目标动作或跳转用于指定数据包的处理方式(比如允许通过、拒绝、丢弃、跳转(Jump)给其它链处理。
2. 查看iptables配置信息
iptables -n -L
# 简洁写法
iptables -nL
3. 基本参数
常用命令:
-A 追加规则 --> iptables -A INPUT
-D 删除规则 --> iptables -D INPUT 1 (编号)
-R 修改规则 --> iptables -R INPUT 1 -s 192.168.12.100 -j DROP 取代现行规则,顺序不变 (1是位置)
-I 插入规则 --> iptables -I INPUT 1 --dport 80 -j ACCEPT 插入一条规则,原本位置上的规则会往后移动一位
-L 查看规则 --> iptables -L INPUT 列出规则链中的所有规则
-N 新的规则 --> iptables -N allowed 定义新的规则
通用参数:
-p 协议 --> iptables -A INPUT -p tcp
-s 源地址 --> iptables -A INPUT -s 192.168.12.100
-d 目的地址 --> iptables -A INPUT -d 192.168.12.111
--sport 源端口 --> iptables -A INPUT -p tcp --sport 22
--dport 目的端口 --> iptables -A INPUT -p tcp --dport 22
-i 指定入口网卡 --> iptables -A INPUT -i eth0
-o 指定出口网卡 --> iptables -A FORWARD -o eth0
-j 要进行的处理动作:
DROP: 丢弃
REJECT: 明示拒绝
ACCEPT: 接受
SNAT: 基于源地址的转换
source: 指定源地址
4. 配置端口开放
允许所有机器进站通过本地22端口进入
iptables -I INPUT -p tcp --dport 22 -j ACCEPT
允许80网段以tcp协议通过80端口进入本服务器
iptables -I INPUT -s 192.168.80.0/24 -p tcp --dport 80 -j ACCEPT
允许10.159.180.0/24 进入到10.159.180.116服务器 通过tcp协议 22端口进站规则
iptables -I INPUT -s 10.159.180.0/24 -p tcp -d 10.159.180.116 --dport 22 -j ACCEPT
允许本地通过22端口出站
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
增加10.159.180.0/24 网段通过tcp协议到 10.159.180.116服务器 22端口 出站规则
iptables -I OUTPUT -s 10.159.180.0/24 -p tcp -d 10.159.180.116 --dport 22 -j ACCEPT
允许192.168.1.100到192.168.1.200网段的地址访问主机
iptables -A INPUT -m iprange --src-range 192.168.1.100-192.168.1.200 -j ACCEPT
5. 配置端口关闭
拒绝80网段以tcp协议通过80端口进入本服务器
iptables -I INPUT -s 192.168.80.0/24 -p tcp --dport 80 -j DROP
拒绝192.168.110.1-192.168.110.10范围内所有主机访问
iptables -A INPUT -m iprange --src-range 192.168.110.1-192.168.110.10 -j REJECT
6. 删除进站、出站规则
删除192.168.110.1到192.168.110.10网段的进站拒绝规则
iptables -D INPUT -m iprange --src-range 192.168.110.1-192.168.110.10 -j REJECT
删除从10.159.180.116服务器22端口到10.159.180.0/24网段的出战允许规则
iptables -D OUTPUT -s 10.159.180.0/24 -p tcp -d 10.159.180.116 --dport 22 -j ACCEPT
删除指定链的iptables配置信息
iptables -F INPUT
删除全部iptables配置信息
iptables -F
7. 持久化配置信息
iptables规则重启自动生效有两种方式,方式一执行原生命令
service iptables save
规则自动保存到/etc/sysconfig/iptables文件中,用此命令保存的规则开机会自动生效
方式二写入脚本文件启动后自动运行
# 保存规则命令
iptables-save > /etc/iptables-script
# 恢复规则命令
iptables-restore < /etc/iptables-script
# 开机自动恢复规则, 把命令添加到启动脚本中
echo '/sbin/iptables-restore /etc/iptables-script' >> /etc/rc.d/rc.local