【iptables】--命令基本使用

基本语法

iptables [参数] [] [匹配条件] [动作]
  • [参数]:表示操作类型(如添加、删除规则等)
  • [链]:如 INPUT、OUTPUT、FORWARD
  • [匹配条件]:如 -s-d-p
  • [动作]:如 ACCEPT、DROP、REJECT

常用操作参数

参数说明
-A在指定链(如 INPUT)追加规则
-I在指定链的开头插入规则
-D删除规则(指定规则或行号)
-R替换指定规则
-L显示当前所有规则
-F清空所有规则
-Z将计数器归零
-N创建自定义链
-X删除自定义链
-P设置默认策略(如 DROP)

常见匹配条件

参数说明
-s源地址(如 -s 192.168.1.0/24
-d目标地址
-p协议(如 tcp、udp、icmp)
--dport目标端口(需 -p 指定协议)
--sport源端口
-i入站网卡(如 -i eth0
-o出站网卡

动作(目标)

动作说明
ACCEPT允许
DROP丢弃(无响应)
REJECT拒绝(返回错误信息)
LOG记录日志
DNAT / SNAT改变目标/源地址(需 -t nat 表)
MASQUERADEIP 伪装(用于 NAT)

示例用法

1. 允许本机访问 22 端口(SSH)

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

2. 拒绝、允许 来自某个 IP、网段、服务 的连接

#限制某个ip
iptables -A INPUT -s 192.168.1.100 -j DROP

#限制某个ip网段连接本机8848端口
iptables -t filter -A INPUT -s 192.168.1.0/24 -p tcp --dport 8848 -j DROP

#只允许192.168.1.0网段的机器访问   使用!来取反
iptables -A INPUT ! -s 192.168.1.0/24 -j DROP

# 指定多个端口 80.8848,1101    ----法一一条条写    法二  使用-m multiport
iptables -A INPUT -m multiport -p tcp --dport 80,8848,8823 -j DROP

#1到100的端口都DROP
iptables -I INPUT -p tcp --dport 1:100 -j DROP

# 禁止ping
# 法一
iptables -I INPUT -p icmp --icmp-type 8 -j DROP
# 法二
vim /etc/sysctl.conf
net.ipv4.imcp_echo_ignore_all=1

3. 清空规则

# 默认filter表

# 清除指定规则--input链中的第一条规则
iptables -D INPUT 1

# 清空所有规则
iptables -F

4. 查看规则

# 查看所有规则--默认filter
iptables -L -n -v

# --line-number 可查看规则的行号
iptables -nL -t nat --line-number

5. 设置默认策略为 DROP

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
  1. 限制并发和速率
# -m limit 限制
# -m limit --limit 10/{second/minute/hour}
-m imit --limit 10/minute    # 每分钟只有10个数据包

# --limit-burst 5  并发五个
# 每分钟给10个数据包   可以并发5个  到第六个开始是6秒后一个
# iptables -I INPUT -m limit --limit 10/minute --limit-burts 5
iptables -A INPUT -p icmp --icmp-type 8 -m limit --limit 10/minute --limit-burst 5 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -P INPUT -t filter DROP

在这里插入图片描述

6. 保存规则 和恢复默认规则

# 保持
iptables-save > /etc/sysconfig/iptables

# 恢复默认
iptables-restore < /etc/sysconfig/iptables

7. 生产环境一般修改

先把需要的端口和服务ACCEPT
然后 关门 把默认状态改成DROP

8. snat 网络源地址转换

# snat 源地址转换--共享上网
# 192.168.1.0/24的网段转换成 本机的
# 方法一
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to-source 192.168.1.13 
# 方法二
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE

9. dnat 端口转发

# dnat 目的地址转换 端口转发
# 转换成本机的80端口 转发成 192.168.1.14 的80端口 
iptables -t nat -A PREROUTING -d 192.168.1.13 -p tcp --dport 80 -j DNAT --to-destination 192.168.14:80

ip转发也可以但是有点费公网ip 有点浪费

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值