370 likes | 549 Views
Linux 网络操作系统. Linux 网络基础配置. 本节内容. TCP/IP 网络配置文件 使用命令配置网络 网络诊断工具. 问题. 问题引入:我这台计算机怎么样才能加入到企业局域网里去? 问题引入:我怎么才能告诉客户机网络里 DNS 主机的 IP 地址? 问题引入:我怎么知道我的计算机跟其他计算机网络连接是否成功? 问题引入:网络不通怎么办,该如何解决?. 企业需求. 根据企业的局域网需求进行企业网络规划与 IP 配置. TCP/IP 网络配置文件. /etc/sysconfig/network-scripts/ifcfg-eth0.
E N D
Linux网络操作系统 Linux网络基础配置
本节内容 • TCP/IP网络配置文件 • 使用命令配置网络 • 网络诊断工具
问题 • 问题引入:我这台计算机怎么样才能加入到企业局域网里去? • 问题引入:我怎么才能告诉客户机网络里DNS主机的IP地址? • 问题引入:我怎么知道我的计算机跟其他计算机网络连接是否成功? • 问题引入:网络不通怎么办,该如何解决?
企业需求 • 根据企业的局域网需求进行企业网络规划与IP配置
/etc/sysconfig/network-scripts/ifcfg-eth0 # cat /etc/sysconfig/network-scripts/ifcfg-eth0 内容实例: • DEVICE=eth0 • ONBOOT=yes • BOOTPROTO=static • IPADDR=192.168.0.110 • NETMASK=255.255.255.0 • GATEWAY=192.168.0.254 • NETWORK=192.168.0.0 • BROADCAST=192.168.0.255
/etc/sysconfig/network • 网络基本信息配置 • 内容实例: • NETWORKING=yes • HOSTNAME=linux.jnrp.cn • GATEWAY=192.168.0.254
/etc/hosts • /etc/hosts文件是系统本地的主机名解析数据库 • 内容实例: # Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1 localhost.localdomain localhost 192.168.1.2 linux-server1 格式如下: IP地址 主机名 别名
/etc/host.conf • 主机搜寻配置文件——/etc/host.conf • 解析主机名可以通过/etc/hosts文件或DNS服务器,但究竟用哪个先呢,答案就在/etc/host.conf文件中 • 默认的内容为: order hosts,bind • order:设置主机名解析的可用方法以及顺序,可用方法包括hosts(使用/etc/hosts文件进行解析)、bind(使用DNS服务器解析)、nis(使用网络信息服务NIS解析) • multi:设置是否从/etc/hosts文件中返回主机的多个IP地址,取值为on/off
/etc/resolv.conf • /etc/resolv.conf文件是DNS域名服务的客户端配置文件 • 内容实例: • nameserver 202.194.14.2 • nameserver 202.194.14.3 • search jnrp.cn • domain jnrp.cn • 常用项目有3种: • Nameserver: 设置域名服务器,最多可设置3个,自成一行。 • Domain: 指定主机所在网址,可略过不设 • Search: 这是可选项,用空格键来分隔多个网址,作用是在进行域名解析时,系统会将此处设置的网址自动加在要查询的主机名称后,最多可加6个网址,但总长度不能超过256个字符。
/etc/services • 网络服务数据文件——/etc/services,它是记录各种不同网络服务的数据文件,在此文件中的每一条记录都表示一种Internet服务,它的格式如下: 服务名称 连接端口号/通信协议名称 [别名] [注释] 基本上每个服务都必须使用唯一的“连接端口号/通信协议名称”对应,如果两个服务需使用同一端口号,则他们必须同时使用不同的通信协议,但若使用相同通信协议则端口号必须不同。端口号分为3种: • 0~1023:专供服务器使用 • 1024~49151:除专供服务器使用端口外,所有已在internet上登录的连接端口号 • 49152~65535:其他动态或私人的连接端口号
/etc/services 文件内容实例: • # Each line describes one service, and is of the form: • # • # service-name port/protocol [aliases ...] [# comment] • tcpmux 1/tcp # TCP port service multiplexer • tcpmux 1/udp # TCP port service multiplexer • rje 5/tcp # Remote Job Entry • rje 5/udp # Remote Job Entry • echo 7/tcp • echo 7/udp • discard 9/tcp sink null • discard 9/udp sink null • systat 11/tcp users • systat 11/udp users
etc/hosts.allow和/etc/hosts.deny • 允许与拒绝地址配置文件——/etc/hosts.allow和/etc/hosts.deny 客户端请求 /etc/hosts.allow 允许 转送到服务程序 未指定 /etc/hosts.deny 未指定 转送到服务程序 禁止 拒绝连接 处理客户端请求的审核流程
通常会将需要提供服务的客户端记录在:/etc/hosts.allow文件中,通常会将需要提供服务的客户端记录在:/etc/hosts.allow文件中, • 而在/etc/hosts.deny文件中只写一行: ALL: ALL 如果要增加额外的记录,格式如下: • Doemon: address[:Option1[:Option2]]
/etc/xinetd.conf • Xinetd与/etc/xinetd.conf文件 • Xinetd负责接收来自internet客户端的请求,并且将客户端的请求发送到正确的服务程序 • Xinetd的配置文件——/etc/xinetd.conf
主机名配置文件——/etc/hostname • 文件/etc/hostname中包括了用户系统的主机名。要改变主机名,只要改变该文件中的条目,被改写的主机名会被保存在文件/etc/hostname中。 • 查找主机名不必显示这个文件的内容,只要使用hostname命令即可
etc/protocols • etc/protocols文件列出了系统当前所支持的TCP/IP协议: ……. ip 0 IP …… icmp 1 ICMP igmp 2 IGMP ggp 3 GGP ipencap 4 IP-ENCAP ……
在Linux中配置网络 • 使用命令行工具 • 使用GUI或TUI工具
使用命令行工具 • 基本网络配置命令: • ifconfig • ifup • ifdown • hostname
ifconfig命令 • ifconfig命令用于查看和配置TCP/IP网络 • 命令实例: • # ifconfig eth0 • eth0 Link encap:Ethernet HWaddr 00:0C:29:FB:E4:89 • inet addr:192.168.201.2 Bcast:192.168.201.255 Mask:255.255.255.0 • inet6 addr: fe80::20c:29ff:fefb:e489/64 Scope:Link • UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 • RX packets:36 errors:0 dropped:0 overruns:0 frame:0 • TX packets:139 errors:0 dropped:0 overruns:0 carrier:0 • collisions:0 txqueuelen:1000 • RX bytes:4321 (4.2 KiB) TX bytes:13153 (12.8 KiB) • Interrupt:10 Base address:0x1400 • # ifconfig eth0 192.168.1.3 netmask 255.255.255.0
命令响应的以eth0为首的第一行是本机的以太网卡配置参数,这里显示了网卡的设备名和硬件的MAC地址00:0C:29:FB:E4:89(MAC地址是由生产厂家指定的,每个网卡拥有的唯一地址,MAC地址是一个48位地址,图中是以16进制表示的)。命令响应的以eth0为首的第一行是本机的以太网卡配置参数,这里显示了网卡的设备名和硬件的MAC地址00:0C:29:FB:E4:89(MAC地址是由生产厂家指定的,每个网卡拥有的唯一地址,MAC地址是一个48位地址,图中是以16进制表示的)。 第二行显示本机的IP地址信息,分别是本机的IP地址,网络广播地址和子网掩码。必须确认这些信息都是正确无误的,否则Linux服务器无法与其它网络设备建立连接。 第三行显示的是设备的网络状态。MTU(最大传输单元)和Metric(度量值)字段显示的是该接口当前的MTU和度量值的值。 后面几行是用来显示接口通信的网络统计值。RX和TX分别表示接收和传送的数据包。如果网卡已经完成配置却还是无法与其它设备通信,那么从RX和TX的显示数据上可以简单地分析一下故障原因。
在上图中还有一个以lo为首的部分。lo是look-back网络接口,从IP地址127.0.0.1就可以看出,它代表“本机”。无论系统是否接入网络,这个设备总是存在的,除非你在内核编译的时候禁止了网络支持,这是一个称为回送设备的特殊设备,它自动由Linux配置以提供网络的自身连接。IP地址127.0.0.1是一个特殊的回送地址(即默认的本机地址)。在上图中还有一个以lo为首的部分。lo是look-back网络接口,从IP地址127.0.0.1就可以看出,它代表“本机”。无论系统是否接入网络,这个设备总是存在的,除非你在内核编译的时候禁止了网络支持,这是一个称为回送设备的特殊设备,它自动由Linux配置以提供网络的自身连接。IP地址127.0.0.1是一个特殊的回送地址(即默认的本机地址)。 如果只是关心某个设备是否正常,可以在ifconfig后面加上接口名字,如下面命令: # ifconfig eth0
修改IP地址 查看某个网络设备
如果要暂停某个网络接口的工作,使用down参数将取消eth0网络接口,命令如下:如果要暂停某个网络接口的工作,使用down参数将取消eth0网络接口,命令如下: • #ifconfig eth0 down • 如果使用了带有参数的ifconfig命令,那就可以手动设置网卡的配置参数了。有效的ifconfig命令参数及其意义为: • Interface 网络设备名,如eth0就表示本机的第一块网卡。 • up:标志接口处于“up”状态,也就是说,IP层可以对其进行访问 • down:标标志接口处于“down”状态,也就是说, IP层不能对其进行访问。 • netmask:分配子网掩码,供接口所用。 • address:设置指定接口设备的IP地址。 • broadcast address 广播地址通常源于网络编号,
使用ifconfig命令来配置并查看网络接口的配置情况 • 配置eth0的IP地址,同时激活该设备: #ifconfig eth0 192.168.1.10 netmask 255.255.255.0 up • 配置eth0别名设备eth0:1的IP地址,并添加网关: #ifconfig eth0:1 192.168.1.16/24 #route add default gw 192.168.1.16 dev eth0:1 • 激活设备: # ifconfig eth0:1 up • 禁用设备: # ifconfig eth0:1 down
使用ifconfig命令来配置并查看网络接口的配置情况 • 查看指定的网络接口的配置: # ifconfig eth0 • 查看所有网络接口配置: # ifconfig
ifup和ifdown • ifup命令用于启动指定的非活动网卡设备,该命令与ifconfig up命令相似。Ifdown命令用于停止指定的活动网卡设备,该命令与ifconfig down命令功能相似。这两个命令的格式如下: • #ifup 网卡设备名 • #ifdown 网卡设备名
使用命令行工具 • route命令用于设置Linux系统的路由信息 • 察看路由信息: • route -n • 添加一个静态路由条目 • route add -net netaddr netmask gw ipaddr dev • 设置默认网关 • route add default gw ipaddr • 删除一个路由条目 • route del -net netaddr netmask gw ipaddr dev
使用GUI工具 • 系统设置|网络或者运行redhat-config-network
使用TUI工具 • 在文本模式下也可以使用netconfig这样的TUI工具进行网络配置
网络诊断工具 • ping命令通过ICMP协议进行网络连接测试 • traceroute命令可以追踪到达某个目的地所经过的路径 • netstat命令用来查看各种与网络相关的状态信息,其中包括:网络的连接状态、接口的统计信息、查看路由表、端口的监听情况等
ping命令 • ping命令的基本用法为: • ping 选项 目标地址 • 常用选项包括: • -c:指定ping命令发出的ICMP消息的数量,如果不指定将会不断发送直至用户按“ctrl+c”中止命令 • -i:指定ping命令发出每个ICMP消息的间隔时间,默认值为1秒。出于安全考虑,只有超级用户可以将该值设置为小于0.2秒 • -s:设置发出的每个ICMP消息的数据包尺寸,默认为64字节,最大值为65507 • -t:设置ttl(Time to Live)
traceroute命令 • # traceroute nis.nsf.net • traceroute to nis.nsf.net (35.1.1.48), 30 hops max, 38 byte packet • 1 helios.ee.lbl.gov (128.3.112.1) 19 ms 19 ms 19 ms • 2 lilac-dmc.Berkeley.EDU (128.32.216.1) 39 ms 39 ms 19 ms • 3 lilac-dmc.Berkeley.EDU (128.32.216.1) 39 ms 39 ms 19 ms • 4 ccngw-ner-cc.Berkeley.EDU (128.32.126.23) 39 ms 40 ms 39 ms • 5 ccn-nerif22.Berkeley.EDU (128.32.168.22) 39 ms 39 ms 39 ms • 6 128.32.197.4 (128.32.197.4) 40 ms 59 ms 59 ms • 7 121.119.2.5 (121.119.2.5) 59 ms 59 ms 59 ms • 8 129.140.70.12 (129.140.70.12) 99 ms 99 ms 80 ms • 9 129.140.71.6 (129.140.71.6) 129 ms 239 ms 319 ms • 10 129.140.81.7 (129.140.81.7) 220 ms 199 ms 199 ms • 11 nic.merit.edu (35.1.1.48) 239 ms 239 ms 239 ms
netstat命令 • Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。 • netstat命令的常用选项包括: • -a:显示所有监听和非监听的套接字 • -i:显示接口的统计信息 • -n:以数字形式而不是名称显示IP地址和端口 • -p:显示使用端口的进程的PID和程序名称 • -r:显示内核路由表 • -s:为每个协议显示统计信息
本章小结 • 1.熟悉与TCP/IP网络配置有关的文件 • 2.熟练掌握使用命令行工具和GUI/TUI工具配置Linux网络的方法 • 3.熟练使用网络诊断命令