问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

iptables使用详解

发布网友 发布时间:2024-09-25 21:32

我来回答

1个回答

热心网友 时间:2024-10-04 02:16

在为VPS部署Docker并配置MySQL时,网络安全是关键环节,这时iptables防火墙就派上了用场。虽然CentOS和Ubuntu的防火墙工具各有特色,但它们都基于iptables的核心功能。在启动前,确保先停用可能冲突的服务,如:



在CentOS上,停止Firewalld: `sudo systemctl stop firewalld` 和 `sudo systemctl disable firewalld`
在Ubuntu上,停用ufw: `sudo ufw disable`

iptables是Linux系统的核心防火墙,它通过一组精细的规则来控制网络流量,支持协议、IP地址和端口的访问控制。iptables有四大工作表:filter(处理到达目标端口的包)、mangle(修改包)、nat(转换IP地址进行路由)和raw(基于包状态定制规则)。



filter表包含INPUT(处理到达目标前的包)、FORWARD(路由转发)和OUTPUT(返回包)三个链。
mangle表的链有PREROUTING(在包到达网口前)、INPUT、FORWARD和OUTPUT(离开网口)。
nat表与mangle表结构相似。
raw表的链也与mangle表一致,但用于基于包状态的高级规则。

理解iptables的包转发规则至关重要:



当数据包在PREROUTING链中,目标地址被修改后,会转到FORWARD链处理;否则,会进入INPUT链。
FORWARD链遵循mangle(FORWARD) > filter(FORWARD)的顺序,INPUT链遵循mangle(INPUT) > filter(INPUT)。
OUTPUT链则执行raw(OUTPUT) > mangle(OUTPUT) > nat(OUTPUT) > filter(OUTPUT)的顺序。
规则结构清晰:匹配条件(如IP地址)+ 动作(ACCEPT、DROP、REJECT等)。
查看规则时,使用`iptables -t nat -nvL --line-numbers`显示详细信息。
添加规则如:`-A INPUT -s 59.45.175.62 -j REJECT`,拒绝特定IP访问。
规则顺序可通过`-I`调整优先级,如`-I INPUT -s 59.45.175.62 -j REJECT`将规则置于链首。
删除规则则使用`-D INPUT -s 59.45.175.62 -j REJECT`,指定条件的规则将被移除。

规则的设定基于数据包的属性,并遵循链首规则优先原则。掌握了这些,我们就能灵活运用iptables来定制网络策略。例如:



使用`-d`指定目的地:`iptables -A OUTPUT -d 31.13.78.35 -j DROP`,丢弃返回给特定IP的数据包。
清空链:`iptables -t filter -F INPUT`,丢弃所有TCP协议的数据包。
匹配多个端口:`iptables -A INPUT -p tcp -m multiport --dports 22,5901 -j DROP`。
利用`m conntrack`或`m state`模块进行链接状态匹配:如`iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT`,允许已建立连接和相关连接。

请注意,不同Linux发行版可能需要调整模块参数,比如默认策略可设为DROP,如`iptables -t filter -P INPUT DROP`。回环地址通信默认允许,`iptables -A INPUT -i lo -j ACCEPT`。对于频繁的请求响应,可以限制输出网络,如`iptables -A OUTPUT -o wlan0 -d 121.18.238.0/29 -j DROP`。


规则的执行逻辑可以进行逆向操作,如`iptables -A INPUT -p tcp -m multiport ! --dports 22,80,443 -j DROP`,允许除了指定端口外的所有连接。


为了使iptables配置持久,可以将其导出到`/etc/iptables.conf`,然后使用`iptables-save`和`iptables-restore`确保重启后的规则生效。在Ubuntu上,可以考虑安装iptables-persistent扩展,以自动加载配置。


特别关注docker环境下的规则管理,比如在iptables中为docker容器的ssh访问创建自定义链`ssh-rules`。完成后,要记得在INPUT链中添加它,如`iptables -I INPUT -j ssh-rules`,并删除不再需要的链:`iptables -X ssh-rules`。


对于docker容器的网络限制,因为docker内部网络的隔离特性,iptables可能无法直接控制docker暴露的端口。然而,可以在宿主机的FORWARD链(如DOCKER-USER链)添加规则来阻止外网访问docker,如`iptables -I DOCKER-USER -i enp0s3 -j DROP`。


更深入的技术内容和最佳实践,可以参考公众号"西北偏北UP"的分享。掌握iptables,为你的网络安全保驾护航。

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
何予卿简介 高振宇水稻专家、硕士生导师 Cell 突破!中科院遗传发育所田志喜领衔完成植物中首个图形结构基因组... ...Plant Cell期刊发表基因组组装助力填补禹氏三角的最后一块:四倍体埃 ... 文献解析Cell水稻泛基因组揭示隐藏的基因组变异 韩斌主要学术成果 雨中冒险2棱镜实验怎么完成 棱镜挑战通关攻略介绍 联通宽带DNS怎么填? 联通宽带dns应该设置哪个好点 联通宽带dns怎么设置好点 苹果手机序列号放到什么地方才能查到真假 有什么技巧可以轻松打开啤酒瓶盖? 胡萝卜酱菜的做法 华为手机上出现月牙标记代表着什么呢?? 海底捞大学生打折怎么弄 兴业厦门航空白鹭联名卡白金卡兴业厦门航空白鹭联名卡白金卡 厦航白鹭普卡是什么 喷粉的喷粉种类 静电粉末喷涂基本常识 钢波纹管连接使用应注意什么? 金属膨胀节波纹管 80% 2-ply, 12 gauge cashmere, 17% nylon and 3% spandex 怀孕的人可以戴貔貅吗?怀孕能戴貔貅吗? 美食节的美食有哪些 苹果13手机有几种颜色 电脑连不上无线网络是怎么回事呢? 电脑连不上家中的无线网怎么回事 为什么我电脑无线连不上网,显示受限制? note3 请问怎么设置铃声、短信音、闹铃啊?以前安卓系统建立文件夹的方... note3怎么设置联系人铃声,有的好使有的不好使 宝马迷你车标是什么 有一种像是胶水的黏稠液体,但是乾燥後会定型,而且像橡胶式的,有弹性而... ipset详解 如何让提花织带的手感变硬 不合适的时间遇见对的人怎么办,要在一起或者分开,各位说说自己看法... 怎么给折纸定型? —— 折纸动物或纸飞机,出来的成品会散开,我想问问... 倒转的笑脸是什么意思? xp系统32位和64位哪个好 如何判断xp是32位还是64位系统? 武汉传媒学院的学位授予 华中师范大学武汉传媒学院院系概况 XP 32位和64位有何区别? ...天津师范大学津沽学院 华中师范大学武汉传媒学院 山东青年政治学院... 360极速浏览器兼容模式如何设置? 新恒基国际大厦周边配套 360极速浏览器如何切换到兼容模式 怎么快速修复电脑中所有dll文件丢失? 沈阳现在最高的楼是哪个? 怎样在360安全卫士中修复dll文件啊? 360安全卫士怎么修复dll 360修复
  • 焦点

最新推荐

猜你喜欢

热门推荐