引子
- 买了一台阿里云 服务器 项目部署后 用公网ip死活访问不了
- 改安全组规则 也没用
- 经查阅 资料后 发现是防火墙问题
解决方案
服务器 os ubuntu
一般情况下,ubuntu安装好的时候,iptables会被安装上,如果没有的话那就安装上吧
sudo apt-get install iptables
添加规则
iptables -I INPUT -p tcp --dport 3000(要开放端口) -j ACCEPT
保存规则
iptables-save
完成上述命令我们就完成了开放指定的端口,但是如果此时服务器重启,上述规则就没有了,所以我们需要对规则进行一下持续化操作
持续化规则
sudo apt-get install iptables-persistent
sudo netfilter-persistent save
sudo netfilter-persistent reload
tip: 测试 是项目问题 还是 防火墙未开放端口 问题
curl 127.0.0.1:3000
分割线 看到这里 应该能解决公网ip 无法访问的问题了
下面 为大家详细介绍一下 iptables
iptables 简介
netfilter/iptables(简称为iptables)组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火墙解决方案,完成封包过滤、封包重定向和网络地址转换(NAT)等功能。
iptables 概述
iptables基础
规则(rules)其实就是网络管理员预定义的条件,规则一般的定义为“如果数据包头符合这样的条件,就这样处理这个数据包”。规则存储在内核空间的信息包过滤表中,这些规则分别指定了源地址、目的地址、传输协议(如TCP、UDP、ICMP)和服务类型(如HTTP、FTP和SMTP)等。当数据包与规则匹配时,iptables就根据规则所定义的方法来处理这些数据包,如放行(accept)、拒绝(reject)和丢弃(drop)等。配置防火墙的主要工作就是添加、修改和删除这些规则。