[Debian/linux笔记]Debian网络设置备忘
Debian Linux拥有强大的网络功能,所使用的网络配置文件与其他的Linux发行版也有所不同。
1. 基本的网络命令
1.1 ifconfig
ifconfig命令用于显示当前主机中状态为“激活”的网络接口信息。
#ifocnfig
eth0 Link encap:Ethernet HWaddr 00:0c:29:b5:46:75
inet addr:202.193.51.211 Bcast:202.193.51.255
Mask:255.255.254.0
inet6 addr: fe80::20c:29ff:feb5:4675/64
Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500
Metric:1
RX packets:176937 errors:0 dropped:0 overruns:0
frame:0
TX packets:101245 errors:0 dropped:0 overruns:0
carrier:0
collisions:0 txqueuelen:1000
RX
bytes:194590366 (185.5 MiB) TX bytes:10767628 (10.2 MiB)
Interrupt:19 Base address:0x2024
lo Link encap:Local
Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6
addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436
Metric:1
RX packets:16 errors:0 dropped:0 overruns:0
frame:0
TX packets:16 errors:0 dropped:0 overruns:0
carrier:0
collisions:0 txqueuelen:0
RX bytes:960
(960.0 B) TX bytes:960 (960.0 B)
"ifconfig
-a"命令用于显示当前主机中所有网络接口信息(包括未激活的网络接口),当然如果系统中没有未激活的网络接口“ifconfig
-a”命令和“ifconfig”命令会得到同样的显示结果。
"ifconfig
ethN"命令用于显示当前主机中指定网络接口的信息(不论网络接口的状态如何),其中“ethN”中的"N"代表系统中网络接口的序号。例如系统中的第一块网卡为“eth0”。
1.2 route命令
route命令用于显示当前linux系统中的路由信息,从route命令的显示结果可以看到当前主机所在的子网和默认网关的地址。
#route
Kernel IP routing table
Destination
Gateway Genmask Flags Metric Ref Use Iface
202.193.50.0
* 255.255.254.0 U 0 0 0 eth0
default
254.51.193.202. 0.0.0.0 UG 0 0 0 eth0
1.3
netstat命令
"netstat
-r"命令可以实现与“route”命令相同的功能,即显示Linux系统中的路由信息(路由表)。
"netstat
-au"显示udp传输协议的连线状况。
"netstat -at"显示tcp传输协议的连线状况。
1.4 nslookup命令
nslookup命令具有查询和交互两种命令模式,其中查询模式在nslookup命令行中直接指定要查询的域名,格式如“nslookup
DomainName”;nslookup交互模式的命令格式非常简单,不需要任何参数,直接执行nslookup命令后进行nslookup的交互状态。
#nslookup www.guet.edu.cn //查询模式
#nslookup
//进行nslookup的交互模式,输入要查询的域名
> www.guet.edu.cn
Server: 202.103.243.112
Address: 202.103.243.112#53
Name: www.guet.edu.cn
Address: 202.193.64.56
> exit
//输入exit退出交互模式
1.5 ping命令
“ping
<主机地址>”用于测试从当前主机到网络中其他主机的网络连接是否正常。
#ping www.guet.edu.cn //ping命令会持续地进行,直到按下组合键Ctrl+C组合键停止ping命令运行。
"ping -c N <目标主机地址>"命令用于使用指定数量的数据包测试网络连接状态。
#ping -c
5 www.guet.edu.cn
1.6 网卡的启用/停用
#ifconfig up
#ifconfig down
2. 配置动态获取IP地址
在大型网络中,客户端主机通常设置为从DHCP服务器自动获取IP地址、子网掩码等网络信息,因此可以大大简化客户端的网络设置。下面是如何配置DHCP的客户端。
2.1 interfaces配置文件
“/etc/network/” 目录下的“interfaces”文件是Debian
Linux中最重要的网络配置文件之一,该文件用于描述主机中所有网络接口的配置信息,不论Debian
Linux主机作为DHCP客户端还是配置使用静态IP地址,都需要对该文件进行配置。
以下是作为DHCP客户端的Debian
Linux系统中“interfaces“文件的配置内容,其中“iface eth0 inet
dhcp”设置了网络接口eth0通过dhcp获取网络地址。
#cat
/etc/network/interfaces
# This file describes the network
interfaces available on your system
# and how to activate them. For
more information, see interfaces(5).
# The loopback network
interface
auto lo
iface lo inet loopback
iface
eth0 inet dhcp //用于设置网络接口eth0通过dhcp协议获取网络配置
2.2
重新启动网络服务
对“interfaces”文件进行更改后,需要重新启动(restart)Debian
Linux中的“networking”服务。
#/etc/init.d/networking
restart
3. 配置使用静态IP地址
配置Debian
Linux使用静态IP地址同样需要在“/etc/network”目录下的“interfaces”文件中进行配置。静态IP地址的配置将使用“interfaces”文件中的更多配置项。
3.1
设置网接口的IP地址
如主机需要配置网络接口使用静态IP地址,则需要在“interfaces”文件中设置的内容包括:
指示网络接口使用静态IP地址
设置网络接口的IP地址
设置网络接口的子网掩码
设置默认网关的IP地址
如下所示是eth0配置为使用静态IP地址的“interfaces”文件的内容,配置文件中各配置项的功能如下所示
# This
file describes the network interfaces available on your system
# and how to
activate them. For more information, see interfaces(5).
# The loopback
network interface
auto lo
iface lo inet loopback
auto eth0
iface
eth0 inet static //配置eth0使用默认的静态地址
address 192.168.77.133
//设置eth0的IP地址
netmask 255.255.255.0 //配置eth0的子网掩码
gateway
192.168.77.2 //配置当前主机的默认网关
“interfaces”文件中还有很多其他的设置项,如需要了解更多的信息,可以使用man命令查询“interfaces”文件的手册页。
#man interfaces
3.2 使网络的配置生效
在对“interfaces”文件进行设置后,必须告诉系统该配置文件的内容已经改变并需要重新加载,使用ifdown命令先停用网卡后,再使用ifup命令启用网卡,可以实现对指定网络接口配置的重新加载功能。
#ifdown eth0
#ifup eth0
当然,用户也可以使用重新启动“networking”服务的方式,重新加载网络接口的配置,但是这种方法会影响到主机中其他网络接口的持续工作。
3.3 手工设置网络接口
在某些场合需要临时改变当前网络接口的IP地址,修改“interfaces”文件显然比较麻烦(因为还要改回来),这时可以使用ifconfig命令手工进行IP地址的设置,直到系统重机关报启动后读取“interfaces”文件的内容恢复到系统的原有的配置。
//使用ifconfig命令手工设置eth0的IP地址
#ifconfig eth0 192.168.77.133
netmask 255.255.255.0
3.4 手工设置默认网关
当用户临时改变IP地址后,有可能也会需要临时改变默认网关的地址,使用route命令可以有效地完成该操作,直到系统重新启动后读取“interfaces”文件中的内容恢复到系统原有的默认网关配置。
需要注意的是,在使用“route add default gw”命令添加网关之前,一定要先使用“route del default
gw”命令删除原有的网关,否则会造成当前主机的网络寻址故障。
#route del default
gw
#route //查看
#route add default gw 192.168.77.1
#route //查看
4. 设置主机名
4.1 查看主机名称
在Debian
Linux系统运行的任何时刻,使用hostname命令都可以查询当前主机的名称。
4.2 修改hostname文件
“/etc/”目录下的“hostname”文件中用于配置Debian
Linux的主机名,在系统启动时将读取该文件中的内容作为主机名,因此修改“hostname”文件后,直到下一次系统启动,“hostname”文件进行修改的主机名才会生效。
//查看hostname中的主机名的设置
#cat /etc/hostname
4.3 即时设置主机名
hostname命令除了可以显示系统当前的主机名外,还可以即时设置主机名,即通过hostname命令设置的主机名会立即生效,直到系统重新启动后设置为“/etc/hostname”文件中的内容。
4.4
/etc/hosts
hosts
配置文件是用来把主机名字映射到IP地址的方法,这种方法比较简单。但这种映射只是本地机的映射,也就是说每台机器都是独立的,所有的计算机都不能相互通过hostname来访问。
注:在debian
中还有一个/etc/hostname的文件,这个文件就是直接把本地主机名写进去就行了,但要和
/etc/hosts中的本地主机名保持一致。
/etc/hosts 的内容一般有如下类似内容:
127.0.0.1
debian.at.myplace debian
注:
一般情况下hosts的内容关于主机名(hostname)的定义,每行为一个主机,每行由三部份组成,每个部份由空格隔开。其中#号开头的行做说明,不被系统解释。
第一部份:网络IP地址;
第二部份:主机名.域名,注意主机名和域名之间有个半角的点,比如
localhost.localdomain
第二部份:主机名(主机名别名) ,其实就是主机名;
当然每行也可以是两部份,就是主机IP地址和主机名;比如 192.168.1.195 debian
127.0.0.1
是回环地址,比如我们不想让局域网的其它机器看到我们测试的网络程序,就可以用回环地址来测试。
更改hosts
#echo
"127.0.0.1 debian.at.myplace debian" > /etc/hosts
4.5
更改主机名的一般方法
hostname命令和hostname文件都有各自的作用,对于一般的永久更改主机名需求,可以使用以下步骤进行操作:
1)在“/etc/hostname”文件中设置要更改的主机名称,以确保主机在下次启动时设置为正确的主机名。
2)使用hostname命令即时设置当前系统新的主机名(“/etc/hostname”文件中设置的内容)生效,以避免因为更改主机名需要重新启动系统。
经过上面两个步骤之后,Debian Linux系统当前的主机名就设置成功并持续有效了。
#echo debian
> /etc/hostname
#sed -i -e 's/HOSTNAME.*/HOSTNAME="debian"/'
/etc/hostname
#/bin/hostname -F /etc/hostname
<-----------F表示从文件中读入
#hostname
#hostname -f
<-----------表示显示长hostname
5. 设置DNS服务器地址
5.1
配置resolv.conf文件
Debian
Linux的DNS服务器地址使用文件“/etc/resovl.conf”进行配置,用户可以通过“nameserver”配置项设置DNS服务器的
IP地址;“resolv.conf”文件中最多可以使用“nameserver”指定3个DNS服务器,按照先后的顺序,一旦前面的DNS服务器失效,系统将自动使用后面的DNS服务器。
对于“resolv.conf”文件设置“nameserver”的修改是即时生效的,即只要对“resolv.conf”文件的修改进行了保存,在系统下一次需要进行域名的解析时就会按照该文件中指定的DNS服务器IP地址进行域名的解析。
#echo
nameserver 8.8.8.8 > /etc/resolv.conf <--------使用google公共域名
#echo
nameserver 8.8.4.4 >> /etc/resolv.conf
5.2
使用nslookup命令进行DNS服务器查询
使用nslookup命令交互模式的“server”命令,可以查询到当前系统所使用的DNS服务器的IP地址,通过此种方法可以验证对于“resolv.conf”配置文件的修改效果。
#nslookup
Default server: 202.103.243.112
Address: 202.103.243.112#53
//系统默认使用的DNS服务器的IP地址是“202.103.243.112”
>server
#exit