最近使用windows的客户端访问vmware虚拟机里面的服务器失败,显示connection refused。服务器是linux contos版本,可以用windows的putty连接上linux,windows端ping linux主机也可以ping通。因此断定链路是没有问题的,问题应该出现在防火墙过滤规则上,网上找了一下解决办法,在linux输入如下两个命令就可以连接上了:
iptables -F
iptables -P INPUT ACCEPT(设置默认允许规则)
上述的命令执行完后是立即生效的,但是不是永久生效,下次重启之后会恢复到之前的状态。想要永久生效,这里有几种方式解决:
1、将以上命令写入启动脚本/etc/rc.local
/etc/rc.local这个文件是每次系统启动的时候都会执行的脚本,将以上两个命令写入rc.local命令,相当于每次启动都重新设置一下防火墙规则。修改完rc.local文件后要执行命令
chmod +x /etc/rc.d/rc.local
因为/etc/rc.local文件是软连接,实际指向的是 /etc/rc.d/rc.local, 要给真正的脚本文件添加执行权限才能开机执行。
2、永久保存防火墙配置
需要执行命令:
service iptables save
但是如果是centos7x以上的版本执行完这个命令后会报错:The service command supports only basic LSB actions (start, stop, restart, try-restart, reload, force-reload, status). For other actions, please try to use systemctl.
解决办法:
systemctl stop firewalld 关闭防火墙
yum install iptables-services 安装或更新服务
再使用systemctl enable iptables 启动iptables
最后 systemctl start iptables 打开iptables
再执行service iptables save
然后重启iptables:
service iptables restart
原文链接如下: