DNS配置及命令方式修改网络

本文详细介绍如何配置虚拟机环境,使其通过真机路由器上网,包括内核路由、地址伪装及DNS设定步骤。同时,提供了使用nmcli命令管理网络设备的方法。

环境配置:desktop为测试端,server为路由器,真机连接网络可上网

目的:desktop可通过真机上网

一.网络配置

1.配置虚拟机环境

配置desktop环境

配置server环境

查看真机能否ping百度

此时,两个虚拟机之间已经可以互相ping通

但是desktop不能ping通真机,说明内核功能没有开启。

执行“sysctl  -a  |  grep  ip_forward”查看内核路由状态

可以看到内核路由状态处于关闭状态,应该开启该状态

修改文件“/etc/sysctl.conf”

执行“sysctl -p”就可以生效

这样设置完成以后,desktop就可以ping通真机

到此,desktop能成功ping通真机,按理来说,真机联网,desktop通过真机应该也可以连接网络,但是测试一下发现,desktop并不能ping通百度

2.配置真机环境

虚拟机无法ping通百度,此时应该将真机设置为路由器,将server的网关设置为真机ip,并且在真机开启火墙的地址伪装功能和内核路由功能。

开启地址伪装功能

开启内核路由功能

将server网关设置为真机ip

将上述操作执行完以后,desktop便可以ping通百度

二.DNS配置

-实验中发现,真机直接ping百度时可以直接ping域名,但是虚拟机只能ping百度的ip地址,否则就会报错:

原因是虚拟机中没有DNS(域名解析)

1.为了使虚拟机可以直接ping域名,因此要对虚拟机进行DNS设定

(1)更改本地解析文件

编辑文件“/etc/hostos”

添加成功后,虚拟机便可成功ping通百度域名

这种方式仅限于使用者知道正确域名

(2)更改DNS指向文件

vim /etc/resolv.conf--------------------编辑DNS指向文件

更改之后再次ping百度

发现还是本地设定的ip

(3)更改DNS解析的优先级

默认情况下,本地优先级高

可通过编辑文件“etc/nsswitch.conf”更改优先级

再次ping百度

发现百度域名改变

以上方式更改DNS都是临时的,将网卡设备文件中的BOOTPROTO改为dhcp以后,在重启网络状态之后,/etc/resolv.conf中的内容会被注释。

查看“/etc/resolv.conf”

文件内容发生了改变

2.静态DNS配置

更改网卡设备文件,可以使设定的DNS永久存在

查看/etc/resolv.conf文件

设定的DNS不会消失

3.让设定的DNS不受dhcp控制

将网卡设备文件中的DNS1删去,添加“PEERDNS=no”

重启网络之后,再次添加DNS1

重启网络以后,文件内容仍旧不会改变

三.命令的方式修改网络

nmcli  -----------此命令执行,则NetworkManager.service服务必须开启

   nmcli      device          status      设备名         ----------显示设备状态

                                        disconnect  设备名  -------------断开与此设备连接

                                         connect 设备名  -----------连接此设备

                                          show  设备名 --------显示此设备详细信息

nmcli connection      show   -----------显示当前所有连接

                                     delet  ------------删除此连接

                                       add      type              --------连接类型

                                                    con-name       ----------连接名称

                                                     ifname     ---------------设备名

                                                      autoconnect ---------------自动获取ip

                                                    ipv4:ip4  172.25.254.112/24

                                      up         -----开启网卡

                                    down  ---------关闭网卡

                                    modify   连接名称  ipv4.method auto (将静态ip改为动态获取)

注意:如果名称中间有空格,如system eth0  ,需用“”

查看eth0配置

关闭/开启网卡设备

将静态ip改为自动获取

将dhcp方式改为静态ip

restartnetwok会重置所有网卡,down/up 针对指定网卡

### 在Linux系统中使用命令配置DNS的步骤 在Linux系统中,可以通过多种方式使用命令配置DNS。以下是具体的实现方法。 #### 方法一:通过`nmcli`工具配置DNS `nmcli`是NetworkManager的命令行工具,可以用来管理网络连接。使用以下命令可以为指定的网络连接添加DNS服务器地址[^2]。 ```bash nmcli con modify "static-addr" ipv4.dns "8.8.8.8 8.8.4.4" nmcli con up "static-addr" ``` 上述命令DNS服务器设置为Google的公共DNS(8.8.8.8 和 8.8.4.4)。如果需要使用本地DNS,可以根据运营商提供的DNS地址进行替换[^1]。 #### 方法二:编辑`/etc/resolv.conf`文件 在某些Linux发行版中,可以直接编辑`/etc/resolv.conf`文件来配置DNS。打开文件后,添加修改DNS服务器地址: ```bash nameserver 8.8.8.8 nameserver 8.8.4.4 ``` 保存文件后,DNS配置会立即生效。但需要注意的是,某些系统可能会自动覆盖此文件的内容。例如,在Ubuntu系统中,`/etc/resolv.conf`可能由`resolvconf`工具动态生成[^4]。 #### 方法三:编辑网络接口配置文件 对于基于Red Hat的系统(如CentOS、Fedora),可以编辑网络接口的配置文件以设置DNS。进入网络接口配置文件目录并找到对应的网络接口文件: ```bash cd /etc/sysconfig/network-scripts/ ls ``` 找到目标文件(例如`ifcfg-eth0`),然后编辑该文件并添加修改以下内容: ```plaintext DNS1=8.8.8.8 DNS2=8.8.4.4 ``` 保存文件后,重启网络服务以使更改生效: ```bash systemctl restart network ``` #### 方法四:使用`systemd-resolved`服务(适用于Systemd系统) 在使用Systemd的Linux发行版中,可以通过`systemd-resolved`服务配置DNS。首先检查是否启用了`systemd-resolved`服务: ```bash systemctl status systemd-resolved ``` 如果已启用,可以通过编辑`/etc/systemd/resolved.conf`文件来配置DNS: ```bash [Resolve] DNS=8.8.8.8 8.8.4.4 FallbackDNS= Domains= LLMNR=yes MulticastDNS=yes DNSSEC=no ``` 保存文件后,重启`systemd-resolved`服务: ```bash systemctl restart systemd-resolved ``` 最后,更新`/etc/resolv.conf`文件的符号链接以指向`systemd-resolved`的配置: ```bash ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf ``` ### 注意事项 - 如果使用的是动态IP地址分配(DHCP),确保DNS配置不会被DHCP服务器覆盖。 - 在某些情况下,可能需要根据具体的Linux发行版调整配置方法。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值