主页 > 互联网  > 

ubuntu防火墙iptables

ubuntu防火墙iptables

文章目录 步骤开启自启防火墙iptables规则链Chains的区别 在 Ubuntu 上使用 iptables 配置防火墙并保证服务可用

步骤

#防火墙状态 systemctl status iptables systemctl start iptables #开启防火墙并且开启22端口 systemctl start iptables && iptables -A INPUT -p tcp --dport 22 -j ACCEPT #查看序号 sudo iptables -L --line-numbers sudo iptables -L -v -n sudo iptables -L -v -n | grep 8066

#在12号之前 #in表示所有ip都可以访问本机 sudo iptables -I INPUT 12 -p tcp --dport 26379 -j ACCEPT sudo iptables -I INPUT 12 -p udp --dport 26379 -j ACCEPT #out我可以访问其他服务器3306 sudo iptables -I OUTPUT 12 -p tcp --dport 3306 -j ACCEPT #加到最后 sudo iptables -A OUTPUT -p tcp --dport 3306 -j ACCEPT #keepalived sudo iptables -I INPUT 12 -p VRRP -j ACCEPT

删除 iptables -D INPUT 13 iptables -D OUTPUT 13 保存 sudo netfilter-persistent save

sudo apt-get install iptables-persistent sudo netfilter-persistent save

测试防火墙设置 在配置完防火墙规则后,使用 telnet 或 nc 来测试各端口是否可以正常连接。例如,测试 8088 端口是否可用: telnet <ip_address_of_202_or_211> 8088 如果连接成功,表示防火墙设置正确。 通过这种方式,你可以确保在多台机器之间的服务通信不受防火墙的影响,同时保证服务器的安全性。

开启自启防火墙

sudo systemctl status netfilter-persistent sudo systemctl enable netfilter-persistent sudo systemctl is-enabled netfilter-persistent

在 Ubuntu 中,要确保 iptables 服务在系统启动时自动启动,你可以使用以下步骤来设置它:

安装 iptables-persistent(如果尚未安装) iptables-persistent 是一个工具,用于在系统重启后自动恢复 iptables 规则。安装 iptables-persistent 后,系统会保存当前的 iptables 配置,并在系统启动时加载这些规则。 安装 iptables-persistent: sudo apt-get install iptables-persistent 安装过程中,它会提示你是否保存当前的 iptables 规则。选择 “是” 以保存当前规则。保存当前的 iptables 规则 如果你修改了 iptables 规则并希望将它们保存在文件中,以便在系统重启后加载,请使用以下命令保存规则: sudo netfilter-persistent save启用 iptables 开机自启 iptables-persistent 在安装时会自动设置为在启动时加载规则。如果它没有自动启用,你可以通过以下命令手动启用: sudo systemctl enable netfilter-persistent 这将确保在每次系统启动时自动加载 iptables 规则。检查 iptables 服务状态 你可以检查 iptables 相关服务的状态,以确保它在启动时自动加载: sudo systemctl status netfilter-persistent 如果服务已启用并正在运行,你会看到如下输出: ● netfilter-persistent.service - Load netfilter rules Loaded: loaded (/lib/systemd/system/netfilter-persistent.service; enabled; vendor preset: enabled) Active: active (exited) since Thu 2021-11-04 09:17:51 UTC; 1h 23min ago手动保存规则并应用 如果你更改了 iptables 规则并希望立即保存,可以使用: sudo netfilter-persistent save 然后应用保存的规则: sudo netfilter-persistent reload iptables规则链Chains的区别

作用阶段: 数据包进入网络接口后,但在路由决策之前。 用途: 通常用于 DNAT(目标地址转换)或修改数据包的目标地址。 适用表: nat 表、mangle 表。 2. INPUT 链 作用阶段: 数据包经过路由决策后,目标是本地系统(即数据包是发给本机的)。 用途: 用于过滤或处理进入本地系统的数据包。 适用表: filter 表、mangle 表。 3. FORWARD 链 作用阶段: 数据包经过路由决策后,目标不是本地系统(即数据包需要转发到其他主机)。 用途: 用于过滤或处理需要转发的数据包。 适用表: filter 表、mangle 表。 4. OUTPUT 链 作用阶段: 数据包从本地系统发出之前。 用途: 用于过滤或处理从本地系统发出的数据包。 适用表: filter 表、nat 表、mangle 表。 5. POSTROUTING 链 作用阶段: 数据包离开网络接口之前,但在路由决策之后。 用途: 通常用于 SNAT(源地址转换)或修改数据包的源地址。 适用表: nat 表、mangle 表。 总结 PREROUTING 和 POSTROUTING 链主要用于地址转换(NAT)和修改数据包。 INPUT 和 OUTPUT 链主要用于过滤进入和离开本地系统的数据包。 FORWARD 链主要用于过滤需要转发的数据包。 示例 #允许所有进入本地系统的 SSH 连接 iptables -A INPUT -p tcp --dport 22 -j ACCEPT

允许从本地系统发出的所有 HTTP 请求 iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT

#允许转发所有来自 192.168.1.0/24 网段的数据包 iptables -A FORWARD -s 192.168.1.0/24 -j ACCEPT

将所有进入 eth0 接口的 HTTP 请求重定向到 192.168.1.100 iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.100

将所有从 eth0 接口发出的数据包的源地址修改为 192.168.1.1 iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 192.168.1.1 通过理解这些链的作用和区别,可以更有效地配置和管理 iptables 规则。

标签:

ubuntu防火墙iptables由讯客互联互联网栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“ubuntu防火墙iptables