配置了一台 CentOS 虚拟机,发现 ping 不通外网,但是 ping 主机和网关可以 ping 通。来来回回重新配置了几遍,还是不通。
最后去路由器管理界面检查,想到白名单过滤可能把虚拟机给屏蔽了,于是,把虚拟机加入白名单。重新 ping 百度,OK!
总结:上网配置好了之后,仍旧不能 ping 通外网的话,想想路由器是否有白/黑名单设置哦。
可能性2:
一就不说了,设置好本地ip和掩码就行了,二网关 添加默认网关,命令:route add defaule gw 192.168.1.1 这是 你用route命令查看最下面会有一条默认路由,走192.168.1.1网关,当然这个网关是根据你本地的网段决定的,
三 就是dns了,dns也需要到配置文件修改,#vi etc/resolv.conf 文件,我的文件默认是空白的。添加一条dns记录就可以了,比如我在河南,我添加:nameserver 222.85.85.85 然后保存退出,OK
可能性3:
法二:关闭防火墙:
firewall-cmd --state
#查看默认防火墙状态(关闭后显示notrunning,开启后显示running)
systemctl stop firewalld.service
或systemctl stop firewalld
#停止firewall
systemctl disable firewalld.service
或systemctl disable firewalld
#禁止firewall开机启动
法一:设置防火墙规则
iptables -A INPUT -p udp --sport 53 -j ACCEPT
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -A INPUT -p udp --dport 53 -j ACCEPT
iptables -A OUTPUT -p udp --sport 53 -j ACCEPT
可能性4:
(自身适用)1、ifcfg-ens33 -->ifcfg-eth0 // 修改默认网卡名称为虚拟网络编辑器内要使用的网卡名,见: https://blog.csdn.net/smd2575624555/article/details/82856587
2、nano ifcfg-eth0 设置IPADDR为虚拟机IP(通过ifconfig可查得),设置GATEWAY为主机网关(cmd-ipconfig可查得,关键一步)
3、nano ifcfg-eth0 设置DNS1=10.1.50.2DNS2=8.8.4.4
首先先整理下思路,确认以下是否调整
1、防火墙(本机、客户机)2、FTP目录的权限
3、客户机是否是IPv6网络
4、客户机的网关限制了外网ftp
如果能登录,不能使用ls或者dir命令。
那就说明,主要问题在端口被防火墙控住。提示语句:
200 PORT command successful. Consider using PASV.
425 Failed to establish connection.
这时候,可以在ftp下使用命令:quote PASV
试试用以被动模式连接。
一般DOS命令行下都是默认以PORT主动模式连接。
即,端口21监听,处理控制信息,再以端口20连接客户端进行数据传送。
而,经常的,通过外网的NAT的,基本端口20的数据连接都会被禁止掉。
所以,如果想对外网开放ftp,最好使用PASV模式。
PASV被动模式是指,以端口21监听,有连接请求时,随机开放一个比较大的端口号来处理数据传输。
vsftp中,通过编辑 /etc/vsftp.conf 实现启用PASV连接。
sudo vi /etc/vsftp.conf
在配置文件中添加下面语句:
pasv_enable=YES
pasv_min_port=6000
pasv_max_port=7000
也即,启动PASV连接模式,开放6000-7000端口号作为数据传送端口。
此外,如果是对外网开放,必须在路由器的转发规则中,开放21端口。
为了保险,可以将6000-7000端口也写入到iptables中白名单中。
命令:
sudo iptables -A INPUT -p tcp --dport 6000:7000 -j ACCEPT
在ubuntu中一般可以不用,因为ubuntu虽然有iptables,但默认是没有规则的,
也即,不会设置端口限制,但其他版本就最好加上哈。
此外,如果带有selinux的,最好也关闭。
ubuntu是默认没安装selinux。
像redhat、centOS之类的,
修改/etc/selinux/config文件中的SELINUX="" 为disabled ,然后重启。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)