随笔 - 366  文章 - 0  评论 - 101  阅读 - 30万

设置ip dns

DNS迭代查询与递归查询的区别  

 

 

nslookup www.baidu.com 192.168.1.254   用254去解析百度   或者  dig @192.168.1.254 www.baidu.com

 

临时修改 /etc/resolv.conf  添加

nameserver 8.8.8.8

重启后失效  只是临时的

 

永久修改

1、Ubuntu

sudo vi /etc/network/interfac   添加

dns-nameservers 8.8.8.8

sudo /etc/init.d/networking  restart 

2、centos

sudo vim /etc/sysconfig/network-scripts/ifcfg-en0  添加

DNS1=8.8.8.8

sudo service network  restart 

 (cnetos:sudo /etc/init.d/network restart )

sudo ifup eth0

sudo ifdown eth0

 

 

 

 

 

 

sudo /etc/init.d/networking restart  和 sudo dhclient eth0  

一个是重启network服务,一个是对网卡进行动态分配IP

sudo ifconfig eth0 up   #激活网卡

sudo dhclient eth0 #自动分配地址

 

DHCP方式设置网卡    sudo vi /etc/network/interfaces          

auto eth0
iface eth0 inet dhcp

sudo dhclient eth0(或者 sudo /etc/init.d/networking restart)

静态IP地址

auto eth0
iface eth0 inet static
address 192.168.3.90
gateway 192.168.3.1
netmask 255.255.255.0

dns-nameservers 8.8.8.8


#network 192.168.3.0
#broadcast 192.168.3.255

sudo dhclient eth0

设定第二个IP地址(虚拟IP地址)
sudo vi /etc/network/interfaces
在该文件中添加如下的行:
auto eth0:1
iface eth0:1 inet static
address 192.168.1.60
netmask 255.255.255.0
network x.x.x.x
broadcast x.x.x.x
gateway x.x.x.x
根据你的情况填上所有诸如address,netmask,network,broadcast和gateways等信息.

sudo dhclient eth0

 

Ifconfig命令 

第一种使用ifconfig命令配置网卡的ip地址。此命令通常用来临时的测试用,计算机启动后

ip地址的配置将自动失效。具体用法如下。ifconfig  ethx   x.x.x.x    netmask      x.x.x.x。

其中ethx中的x代表第几快以太网卡,默认第一块为0   

sudo ifconfig eth0 192.168.2.1 netmask 255.255.255.0

将IP地址改为:192.168.2.1,子网掩码改为:255.255.255.0

假设DNS服务器的IP地址是192.168.3.2, 那么/etc/resolv.conf文件的内容应为: (临时设置 即时生效)
search test.com
nameserver 192.168.3.2

 

 

设置固定dns   

root@ubuntu12:~# vim /etc/resolv.conf   #先添加dns
root@ubuntu12:~# chattr +i /etc/resolv.conf   #再设置文件权限 (i:Immutable,系统不允许对这个文件进行任何的修改。如果目录具有这个属性,那么任何的进程只能修改目录之下的文件,不允许建立和删除文件。 

root@ubuntu12:~# chattr +i /etc/resolv.conf    #一下为出现这种情况的解决方案

chattr: Operation not supported while reading flags on /etc/resolv.conf

最近也经常安装Ubuntu 12.04 desktop的系统,没有出现这种问题。

解决步骤如下:

root@ubuntu12:~# dpkg -l | grep resolv
root@ubuntu12:~# apt-get remove resolvconf
root@ubuntu12:~# reboot
root@ubuntu12:~# vim /etc/resolv.conf
root@ubuntu12:~# chattr +i /etc/resolv.conf

 

 

1. DNS存放位置:/etc/resolv.conf ,格式:nameserver 9.181.2.101

 
2. 如果要disableDNS, 就将该配置文件置为invalid nameserver: echo "nameserver 9.123.253.45" > /etc/resolv.conf
 
3. 要totally disableDNS, 还需要将系统中的DNS缓存清空:
    (1) 用DNS缓存程序NSCD(name service cache daemon)负责管理DNS缓存 
              service nscd restart
              Note: NSCD Name Service Cache Daemon,  DNS缓存程序,负责管理DNS缓存。
    (2)另一种实现DNS缓存则是用Bind来架设Caching Name Server
              rndc flush
    (3) 如果你的DNS服务器是用dnsmasq实现的
              sudo dnsmasq restart
              Note:  DNSmasq是一个轻巧的容易使用的DNS服务工具,它可以应用在内部网和Internet连接的时候的IP地址NAT转换,也可以用做小型网络的DNS服务
 
4. 如果在程序中调用getaddrinfo和getnameinfo来获取域名对应的IP,在同一进程中,上一次成功获取的结果会被保留下来,即使在下一次调用之前disable了DNS并清空了系统的DNS缓存,下一次仍然能够解析出正确的IP。此时需要在调用这两个函数之前用res_init()函数来清空他们自己保留的缓存。
posted on   寒星12345678999  阅读(369)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示