防火墙

最开始用iptables,后面用firewalld,如果在阿里云,其实两个都可以不用,用安全组就可以了,同一个安全组里面的服务器是可以内网通信的

 

经典网络向专有网络迁移

专有网络有很多好处,等服务器多了就会凸显出来,所以,后面买的服务器都是专有网络的,这样就涉及到两个网络之间的通信问题

 

经典网络与专有网络通信

需要在安全组里面添加ClassicLink安全组规则

 

授权方式选择 经典网络 <=> 专有网络(相互授权,推荐)

 

例子:

 

MySQL服务器在经典网络,应用程序在专有网络

 

1、开启ClassicLink

2、建立ClassicLink连接

3、添加3306的ClassicLink安全组规则

4、授权应用服务器可以访问

 

// 10.0.0.100应用服务器内网IP地址
> grant all privileges on *.* to root@10.0.0.100 identified by '123456';
> flush privileges;

5、如果老的经典网络开启了防火墙,那么还得在经典网络服务器上开启内网访问权限,让专有网络的服务器可访问

 

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.1.250" port protocol="tcp" port="3306" accept"
firewall-cmd --reload

 

开发外网可访问端口号

直接在安全组里面配置即可

 

例子:

 

授权策略 协议类型 端口范围 授权类型 授权对象

 

允许 自定义 TCP 6102/6103 地址段访问 0.0.0.0/0

 

可能的问题

可能因为安装过某些软件,该软件修改了iptables,增加了如下规则:

 

DROP       tcp  --  anywhere             anywhere             tcp dpt:mysql

 

我们需要删除这条规则 iptables -L -n --line-number,得到规则行号,通过 optables -D INPUT 行号 删除对应规则