刚刚弄玩的Tomcat,虚拟机外面的物理机访问不到网站,所以肯定是CentOS的防火墙问题,我将默认的防火墙改为了iptables,设定iptables的端口规则,然后保存规则,最后重启iptables服务,端口配置生效。
添加规则
通过命令的方式来添加规则命令,也可以通过修改配置文件
/etc/sysconfig/iptables
的方式来添加规则。
iptables -I INPUT -p tcp --dport 8080 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
Mysql特别说明
Mysql需要特别说明一下,你就算打开了3306端口,但是没有配置远程访问还是没有那个,需要设定下面操作,让Mysql可以远程访问
GRANT ALL PRIVILEGES ON *.*TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
Iptables规则
规则管理命令,当我们把规则放到后面后,就没效了,因为已经被前面规则过滤掉了,所以要用-I的方式,来插入规则
- -A:追加,在当前链的最后新增一个规则
- -I num : 插入,把当前规则插入为第几条。-I 3 :插入为第三条,当-I没有num,直接就插入到第一条
- R num:Replays替换/修改第几条规则, 格式:iptables -R 3 …………
- -D num:删除,明确指定删除第几条规则
保存规则
当我们修改规则后,如果不保存,重启iptables服务,就没了
service iptables save
添加的规则,保存后,都到了配置文件
/etc/sysconfig/iptables
这个目录
重启服务
重启服务后,防火墙生效
service iptables restart
重启防火墙,这里有两种方式重启防火墙
a) 重启后生效
开启: chkconfig iptables on
关闭: chkconfig iptables off
b) 即时生效,重启后失效
开启: service iptables start (一般用这个)
关闭: service iptables stop
查看规则
iptables -L -n
实验结果
一个是物理机,一个是虚拟机,他们 都可以访问