Linux的“ping: unknown host baidu.com”问题

IP是自动获取的,网络连接模式为NAT
在这里插入图片描述
网卡配置文件也要保证如此
在这里插入图片描述
查看IP
在这里插入图片描述
然后看看能不能ping通网络
在这里插入图片描述
我可以ping外网IP地址但不可以通过域名ping,这就说明DNS解析出现了问题 在这里插入图片描述
然后我修改/etc/resolv.conf文件
在这里插入图片描述
但依旧ping不通,我按照网络上找的方法,他们说这样就可以ping通了,为什么我不能进行域名解析呢,可恶(¬︿̫̿¬☆)
在这里插入图片描述
后来我发现是防火墙问题,因为之前进行了配置了防火墙,但没有配置完善,你看我关掉防火墙就可以用域名ping通了
在这里插入图片描述
不能随意关闭防火墙,因为这样会很不安全。so,我选择添加防火墙的规则,我已经在之前配置了一条规则,所以在这里只添加一条
在这里插入图片描述
规则解释:
“iptables -I INPUT 3 -p udp --sport 53 -j ACCEPT“
在INPUT链添加一条规则,-I 在指定添加规则的位置,不填写,默认是在前面添加。这条的意思是放行源自53端口的数据包
关于防火墙的相关知识可以去看我的另一篇博文:
https://blog.csdn.net/weixin_42022374/article/details/89002977
如此你的OUTPUT链的默认动作是DROP就需要配置下面两条命令。因为我是个人做实验为了方便,出站的全部放行,但是这个在做web服务器的时候很不安全,所以不建议OUTPUT链为ACCEPT。
在这里插入图片描述
添加方法如下:

iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -A OUTPUT -p udp --sport 53 -j ACCEPT

如果你可以PING通外网IP,PING不通域名,resolv.conf文件已经配置了,还出现域名ping不通问题。那么应该就是防火墙问题,就需要添加以下的规则

iptables -A INPUT -p udp --sport 53 -j ACCEPT
iptables -A INPUT -p udp --dport 53 -j ACCEPT
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -A OUTPUT -p udp --sport 53 -j ACCEPT

猜你喜欢

转载自blog.csdn.net/weixin_42022374/article/details/89027433