前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >iptables规则案例

iptables规则案例

作者头像
用户6792968
发布2022-08-30 12:08:05
2040
发布2022-08-30 12:08:05
举报
文章被收录于专栏:fred 随笔

#清空 filter 表和 nat 表

代码语言:javascript
复制
root@mirrors:~# iptables -F
root@mirrors:~# iptables -t nat -F

#关掉 firewalld

代码语言:javascript
复制
root@mirrors:~# systemctl stop firewalld &>/dev/null
root@mirrors:~# systemctl disable firewalld &>/dev/null

#以下两行允许某些调用 localhost 的应用访问

代码语言:javascript
复制
root@mirrors:~# iptables -A INPUT -i lo -j ACCEPT #规则1
root@mirrors:~# iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT #规则2

#以下一行允许从其他地方 ping

代码语言:javascript
复制
root@mirrors:~# iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT #规则3

#以下一行允许从其他主机、网络设备发送 MTU 调整的报文 #在一些情况下,例如通过 IPSec VPN 隧道时,主机的 MTU 需要动态减小

代码语言:javascript
复制
root@mirrors:~# iptables -A INPUT -p icmp --icmp-type fragmentation-needed -j ACCEPT #规则4

#以下两行分别允许所有来源访问 TCP 80,443 端口

代码语言:javascript
复制
root@mirrors:~# iptables -A INPUT -p tcp --dport 80 -j ACCEPT #规则5
root@mirrors:~# iptables -A INPUT -p tcp --dport 443 -j ACCEPT #规则6

#以下一行允许所有来源访问 UDP 80,443 端口

代码语言:javascript
复制
root@mirrors:~# iptables -A INPUT -p udp -m multiport --dports 80,443 -j ACCEPT #规则7

#以下一行允许 192.168.1.63 来源的 IP 访问 TCP 22 端口(OpenSSH)

代码语言:javascript
复制
root@mirrors:~# iptables -A INPUT -p tcp -s 192.168.1.63 --dport 22 -j ACCEPT #规则8

#以下一行允许 192.168.1.3(发起SSH连接的系统对应网卡的IP) 来源的 IP 访问 TCP 22 端口(OpenSSH) #如果是在远程终端跑本脚本,最好开启以下一行以防被踢掉 #另一种更加简便的方式:

代码语言:javascript
复制
root@mirrors:~# iptables -I INPUT -p tcp --dport 22 -j ACCEPT
root@mirrors:~# iptables -A INPUT -p tcp -s 192.168.1.3 --dport 22 -j ACCEPT #规则9

#以下一行允许 192.168.1.26 来源的 IP 访问 UDP 161 端口(SNMP)

代码语言:javascript
复制
root@mirrors:~# iptables -A INPUT -p udp -s 192.168.1.26 --dport 161 -j ACCEPT #规则10

#配置 NAT #启用内核路由转发功能

代码语言:javascript
复制
root@mirrors:~# echo 1 > /proc/sys/net/ipv4/ip_forward
root@mirrors:~# echo "net.ipv4.ip_forward = 1" > /etc/sysctl.conf
root@mirrors:~# sysctl -p &>/dev/null

#配置源地址转换 SNAT #将 192.168.2.0/24 转换成 192.168.1.63

代码语言:javascript
复制
root@mirrors:~# iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -j SNAT --to 192.168.1.63 #规则11

#配置目的地址转换 DNAT #将 192.168.1.63 的 80 端口请求转发到 192.168.2.2 的 80 端口

代码语言:javascript
复制
root@mirrors:~# iptables -t nat -A PREROUTING -d 192.168.1.63 -p tcp --dport 80 -j DNAT --to 192.168.2.2:80 #规则12

#以下一行禁止所有其他的进入流量

代码语言:javascript
复制
root@mirrors:~# iptables -A INPUT -j DROP #规则13

#以下一行允许本机响应规则编号为 1-12 的数据包发出

代码语言:javascript
复制
root@mirrors:~# iptables -A OUTPUT -m state --state ESTABLISHED -j ACCEPT #规则14

#以下一行禁止本机主动发出外部连接

代码语言:javascript
复制
root@mirrors:~# iptables -A OUTPUT -j DROP #规则15

#以下一行禁止本机转发数据包

代码语言:javascript
复制
root@mirrors:~# iptables -A FORWARD -j DROP #规则16

#固化 iptables

代码语言:javascript
复制
root@mirrors:~# iptables-save > /etc/sysconfig/iptables

#可以查看到每个规则chain 的序列号

代码语言:javascript
复制
root@mirrors:~# iptables -L -n  --line-number

#删除INPUT链第二条规则

代码语言:javascript
复制
root@mirrors:~# iptables -D INPUT 2
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
NAT 网关
NAT 网关(NAT Gateway)提供 IP 地址转换服务,为腾讯云内资源提供高性能的 Internet 访问服务。通过 NAT 网关,在腾讯云上的资源可以更安全的访问 Internet,保护私有网络信息不直接暴露公网;您也可以通过 NAT 网关实现海量的公网访问,最大支持1000万以上的并发连接数;NAT 网关还支持 IP 级流量管控,可实时查看流量数据,帮助您快速定位异常流量,排查网络故障。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档