主机的网络接口卡(网卡)通常称为"网络接口"。
查看所有活动网络接口的信息
[root@localhost ~]# ifconfig
ens33: flags=4163 mtu 1500
inet 192.168.197.161 netmask 255.255.255.0 broadcast 192.168.197.255
inet6 fe80::1d30:11ba:dcc1:394a prefixlen 64 scopeid 0x20
ether 00:0c:29:c3:77:97 txqueuelen 1000 (Ethernet)
...以下省略内容
lo: flags=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1 (Local Loopback)
...以下省略内容
'ens33:第一块以太网卡的名称'
' inet 192.168.197.161 :IP地址'
'netmask 255.255.255.0 :子网掩码'
' broadcast 192.168.197.255 :广播地址'
'ether 00:0c:29:c3:77:97 : MAC地址'
'lo:虚拟的回环接口,lo 是 loopback 的缩写,不是真正的网络接口,而是一个虚拟的网络接口,lo 的IP地址默认为 “127.0.0.1”,回环地址通常仅用于对本机的网络测试'
查看所有网络接口信息
[root@localhost ~]# ifconfig -a
ens33: flags=4163 mtu 1500
inet 192.168.197.161 netmask 255.255.255.0 broadcast 192.168.197.255
inet6 fe80::1d30:11ba:dcc1:394a prefixlen 64 scopeid 0x20
ether 00:0c:29:c3:77:97 txqueuelen 1000 (Ethernet)
RX packets 670908 bytes 906530069 (864.5 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 257925 bytes 25819625 (24.6 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
'TX RX 表示通过该网络接口发出和接收的数据包个数,流量等信息'
lo: flags=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1 (Local Loopback)
...省略内容
查看指定网络接口信息
[root@localhost ~]# ifconfig ens33
ens33: flags=4163 mtu 1500
inet 192.168.197.161 netmask 255.255.255.0 broadcast 192.168.197.255
...以下省略内容
查看当前主机名
[root@localhost ~]# hostname
localhost.localdomain
'localhost:主机名'
'localdomain:域'
修改当前主机名
[root@localhost ~]# hostnamectl set-hostname ddd
[root@localhost ~]# su
[root@ddd ~]#
直接执行route命令可以查看到当前主机中的路由表信息
[root@ddd ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default gateway 0.0.0.0 UG 100 0 0 ens33
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
192.168.197.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
'Destination列对应目标网段的地址'
'Gateway列对应下一跳路由器地址'
'Genmask列对应子网掩码'
'Iface列对应发送数据的网络接口'
'目标网段为default时,表示此行时默认网关记录'
netstat命令
查看系统的网络连接状态,路由表,接口统计等信息,是了解网络状态及排除网络服务故障的有效工具
'netstat命令基本格式'
netstat [选项]
常用选项
-a:显示当前主机中所有活动的网络连接信息(包括监听,非监听状态的服务端口)
-n:以数字的形式显示相关的主机地址,端口等信息
-p:显示与网络连接相关联的进程号,进程名称信息('该选项需要root权限')
-t:查看TCP协议相关信息
-u:显示UDP协议相关的信息
-r:显示路由信息
-l:显示处于监听(listening)状态的网络连接及端口信息
通常使用“-ntap”组合选项,以数字形式显示当前系统中所有的TCP连接信息,同时显示对应的进程信息。
结合管道符号使用“grep”命令,还可以在结果中过滤出所需要的特定记录。
[root@localhost ~]# netstat -ntap '以数字形式显示当前系统中所有的TCP连接信息,同时显示对应的进程信息。'
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1/systemd
..省略部分信息
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1235/master
tcp 0 52 192.168.197.161:22 192.168.197.1:61980 ESTABLISHED 1574/sshd: root@pts
tcp6 0 0 :::111 :::* LISTEN 1/systemd '::::这些表示ipv6的IP地址'
...省略部分内容
[root@localhost ~]# netstat -ntap | grep 22 '过滤出22端口'
tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN 1340/dnsmasq
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 984/sshd
tcp 0 36 192.168.197.161:22 192.168.197.1:61980 ESTABLISHED 1574/sshd: root@pts
tcp6 0 0 :::22 :::* LISTEN 984/sshd
[root@localhost ~]# netstat -r '显示路由信息'
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
default gateway 0.0.0.0 UG 0 0 0 ens33
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
192.168.197.0 0.0.0.0 255.255.255.0 U 0 0 0 ens33
测试网络连通性
命令基本格式
ping [选项] 目标主机
[root@localhost ~]# ping 192.168.100.3
PING 192.168.100.3 (192.168.100.3) 56(84) bytes of data.
64 bytes from 192.168.100.3: icmp_seq=1 ttl=128 time=0.524 ms
64 bytes from 192.168.100.3: icmp_seq=2 ttl=128 time=0.244 ms
64 bytes from 192.168.100.3: icmp_seq=3 ttl=128 time=0.435 ms
64 bytes from 192.168.100.3: icmp_seq=4 ttl=128 time=0.400 ms
64 bytes from 192.168.100.3: icmp_seq=5 ttl=128 time=0.497 ms
^C
--- 192.168.100.3 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4001ms
rtt min/avg/max/mdev = 0.244/0.420/0.524/0.098 ms
'按Ctrl C 组合键终止ping测试'
'反馈目标主机不可达:可能目标地址不存在或主机已经关闭'
'反馈 网络不可达:表示没有可用的路由记录,如网关,无法到达目标主机所在网络'
'反馈 请求超时:表示数据到达对方,但回不来'
测试从当前主机到目标主机之间经过的网络节点
对于无法响应的节点,连接状态将显示为*
traceroute命令比ping命令更准确的定位网络连接的故障点(中断点),执行速度也因此比ping命令慢
网络测试中,先用ping,若发现网络连接故障,在使用traceroute命令跟踪查看故障节点
命令基本格式
traceroute 目标主机地址
'配置R1'
R1#conf t
Enter configuration commands, one per line. End with CNTL/Z.
R1(config)#int f0/1
R1(config-if)#ip add 192.168.20.1 255.255.255.0 '配置接口IP地址'
R1(config-if)#no shut
R1(config-if)#int f0/0
R1(config-if)#ip add 192.168.10.1 255.255.255.0 '配置接口IP地址'
R1(config-if)#no shut
R1(config-if)#do sh ip int b '查看ip地址是否配置成功'
Interface IP-Address OK? Method Status Protocol
FastEthernet0/0 192.168.10.1 YES manual up up
FastEthernet0/1 192.168.20.1 YES manual up up
R1(config-if)#ip route 0.0.0.0 0.0.0.0 192.168.20.2 '添加默认路由'
'R2配置'
R2#conf t
Enter configuration commands, one per line. End with CNTL/Z.
R2(config)#int f0/0
R2(config-if)#ip add 192.168.20.2 255.255.255.0 '配置接口IP地址'
R2(config-if)#no sh
R2(config-if)#int f0/1
R2(config-if)#ip add 192.168.30.1 255.255.255.0 '配置接口IP地址'
R2(config-if)#no sh
R2(config-if)#do sh ip int b '查看ip地址是否配置成功'
Interface IP-Address OK? Method Status Protocol
FastEthernet0/0 192.168.20.2 YES manual up up
FastEthernet0/1 192.168.30.1 YES manual up up
R1(config-if)#ip route 0.0.0.0 0.0.0.0 192.168.20.1 '添加默认路由'
'centos 7设置'
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
'进入后输入和修改以下内容'
将BOOTPROTO=dhcp 修改为 BOOTPROTO=static
并在末尾添加IP地址信息
IPADDR=192.168.10.10
NETMASK=255.255.255.0
GATEWAY=192.168.10.1
:wq保存退出
[root@localhost ~]# service network restart '重启网卡服务'
Restarting network (via systemctl): [ 确定 ]
[root@localhost ~]# ifconfig '查看网址是否配置成功'
ens33: flags=4163 mtu 1500
inet 192.168.10.10 netmask 255.255.255.0 broadcast 192.168.10.255
inet6 fe80::39ab:1caa:1fd3:5019 prefixlen 64 scopeid 0x20
ether 00:0c:29:78:56:a8 txqueuelen 1000 (Ethernet)
...省略以下内容
'win 10IP地址设置'
C:\Users\wangermazi>ipconfig '查看是否修改成功'
Windows IP 配置
以太网适配器 Ethernet0:
连接特定的 DNS 后缀 . . . . . . . :
本地链接 IPv6 地址. . . . . . . . : fe80::c068:9f0e:2246:18ad%5
IPv4 地址 . . . . . . . . . . . . : 192.168.30.30
子网掩码 . . . . . . . . . . . . : 255.255.255.0
默认网关. . . . . . . . . . . . . : 192.168.30.1
以太网适配器 蓝牙网络连接:
媒体状态 . . . . . . . . . . . . : 媒体已断开连接
连接特定的 DNS 后缀 . . . . . . . :
隧道适配器 isatap.{8D07E2F8-BFAB-41DB-9394-6A4E7B6B0E86}:
媒体状态 . . . . . . . . . . . . : 媒体已断开连接
连接特定的 DNS 后缀 . . . . . . . :
'在centos 7中尝试 ping win10'
[root@localhost ~]# ping 192.168.30.30
PING 192.168.30.30 (192.168.30.30) 56(84) bytes of data.
64 bytes from 192.168.30.30: icmp_seq=2 ttl=126 time=49.0 ms
64 bytes from 192.168.30.30: icmp_seq=3 ttl=126 time=44.9 ms
64 bytes from 192.168.30.30: icmp_seq=4 ttl=126 time=52.0 ms
64 bytes from 192.168.30.30: icmp_seq=5 ttl=126 time=42.3 ms
^C
--- 192.168.30.30 ping statistics ---
6 packets transmitted, 4 received, 33% packet loss, time 5002ms
rtt min/avg/max/mdev = 42.306/47.080/52.026/3.730 ms
[root@localhost ~]# traceroute 192.168.30.30 '追踪数据包'
traceroute to 192.168.30.30 (192.168.30.30), 30 hops max, 60 byte packets
1 gateway (192.168.10.1) 4.002 ms 14.763 ms 24.923 ms
2 192.168.20.2 (192.168.20.2) 35.693 ms 46.129 ms 57.016 ms
3 192.168.30.30 (192.168.30.30) 78.146 ms
* *
'追踪结果显示,数据包先到达192.168.10.1网关,之后到达192.168.20.2,'
'最终到达192.168.30.30'
nslookup命令
测试DNS域名解析,将域名解析为IP地址
命令基本格式
nslookup 目标主机地址 [DNS服务器地址]
centos 7显示结果
[root@localhost ~]# nslookup www.baidu.com
Server: 192.168.197.2
Address: 192.168.197.2#53
Non-authoritative answer:
www.baidu.com canonical name = www.a.shifen.com.
Name: www.a.shifen.com
Address: 180.101.49.11
Name: www.a.shifen.com
Address: 180.101.49.12
Windows 显示
C:\Users\wangermazi>nslookup www.baidu.com
服务器: ns.gwbnnj.net.cn
Address: 211.162.31.80
非权威应答:
名称: www.a.shifen.com
Addresses: 182.61.200.7
182.61.200.6
Aliases: www.baidu.com
临时修改,一般都是做维护的时候使用
简单,快速,可直接修改运行中的网络参数
一般只适合在调试网络的过程中使用
系统重启以后,所做的修改将会直接失效
设置网络接口的IP地址,子网掩码
ifconfig 接口名 IP地址 [netmask 子网掩码]
ifconfig 网络接口 IP地址[/掩码长度]
例如:
[root@localhost ~]# ifconfig ens33 10.10.10.10/24
[root@localhost ~]# ifconfig
ens33: flags=4163 mtu 1500
inet 10.10.10.10 netmask 255.255.255.0 broadcast 10.10.10.255
..省略内容
或者
[root@localhost ~]# ifconfig ens33 12.12.12.12 netmask 255.255.255.0
禁用或者重新激活网卡
ifconfig 网络接口 up
ifconfig 网络接口 down
例如
[root@localhost ~]# ifconfig ens33 down '临时禁用ens33网卡'
[root@localhost ~]# ifconfig
lo: flags=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1 (Local Loopback)
RX packets 596 bytes 51824 (50.6 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 596 bytes 51824 (50.6 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr0: flags=4099 mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:ac:c5:4f txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[root@localhost ~]# ifconfig ens33 up '重新激活ens33网卡'
[root@localhost ~]# ifconfig
ens33: flags=4163 mtu 1500
inet 192.168.10.10 netmask 255.255.255.0 broadcast 192.168.10.255
inet6 fe80::39ab:1caa:1fd3:5019 prefixlen 64 scopeid 0x20
ether 00:0c:29:78:56:a8 txqueuelen 1000 (Ethernet)
RX packets 559 bytes 69546 (67.9 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 811 bytes 143394 (140.0 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1 (Local Loopback)
RX packets 668 bytes 58080 (56.7 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 668 bytes 58080 (56.7 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr0: flags=4099 mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:ac:c5:4f txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
为网卡绑定虚拟接口
在对服务器网络进行调试的过程中,有时候需要临时在同一个网卡上使用一个新的IP地址,但是又不能够覆盖掉原本的IP地址而导致服务程序不可用。
此时可以为网卡绑定一个虚拟的网络接口,然后在位虚拟接口配置新的IP地址(相当于一个网卡配置多个IP地址)
设置虚拟网络接口的命令格式
ifconfig 接口名:序号 IP地址
[root@localhost ~]# ifconfig ens33:1 11.11.11.11
[root@localhost ~]# ifconfig
ens33: flags=4163 mtu 1500
inet 192.168.10.10 netmask 255.255.255.0 broadcast 192.168.10.255
inet6 fe80::39ab:1caa:1fd3:5019 prefixlen 64 scopeid 0x20
ether 00:0c:29:78:56:a8 txqueuelen 1000 (Ethernet)
RX packets 675 bytes 85246 (83.2 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 827 bytes 145682 (142.2 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ens33:1: flags=4163 mtu 1500 '添加成功'
inet 11.11.11.11 netmask 255.0.0.0 broadcast 11.255.255.255
ether 00:0c:29:78:56:a8 txqueuelen 1000 (Ethernet)
使用route命令不仅可以用于查看路由表信息,还可以用来添加,删除静态的路由表条目,其中也包括设置默认网关地址(默认网关记录是一条特殊的静态路由条目)
默认网关的IP地址应该与本机其中一个接口的IP地址在同一个网段内
添加到指定网段的路由记录
route add -net 网段地址 gw IP地址
例如
[root@localhost ~]# route '原本的路由条目'
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
11.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 ens33
192.168.10.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
[root@localhost ~]# route add -net 192.168.30.0/24 gw 192.168.10.10 '添加静态路由,本机访问另一个网段192.168.30.0/24的数据都发给192.168.10.10'
[root@localhost ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
11.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 ens33
192.168.10.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
192.168.30.0 localhost.local 255.255.255.0 UG 0 0 0 ens33
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
删除到指定网段的路由记录
route del -net 网段地址
例如
[root@localhost ~]# route del -net 192.168.30.0/24 '删除静态路由'
[root@localhost ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
11.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 ens33
192.168.10.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
向路由表中添加默认网关记录
route add default gw IP地址
[root@localhost ~]# route add default gw 192.168.10.30 '添加到192.168.10.30的默认网关记录'
[root@localhost ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.10.30 255.255.255.255 UGH 0 0 0 ens33
11.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 ens33
192.168.10.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
删除路由表中的默认网关记录
route del default gw IP地址
[root@localhost ~]# route del default gw 192.168.10.30 '删除到192.168.10.30的默认网关记录'
[root@localhost ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
11.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 ens33
192.168.10.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
同一个主机的路由表中只应有一条默认网关记录,否则会导致主机的网络了解出现故障
/etc/sysconfig/network-scripts/目录下
[root@localhost ~]# ls /etc/sysconfig/network-scripts/ifcfg-*
/etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-lo
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
..省略部分内容
BOOTPROTO="dhcp" '设置网络接口的配置方式,值为 static 表示使用静态指定的IP地址,值为 dhcp 表示 通过dhcp的方式动态获取地址'
DEVICE="ens33" '设置网络接口的名称'
ONBOOT="yes" '设置网络接口是否在Linux系统启动时激活'
IPADDR="192.168.158.165" '设置网络接口的IP地址'
NETMASK="255.255.255.0" '设置网络接口的子网掩码'
GATEWAY="192.168.158.1" '设置网络接口的默认网关地址'
重启network网络服务
[root@localhost ~]# systemctl restart network
或者
[root@localhost ~]# service network restart
禁用,启用网络接口
[root@localhost ~]# ifdown ens33 '关闭网卡'
成功断开设备 'ens33'。
[root@localhost ~]# ifup ens33 '启用网卡'
/etc/sysconfig/network文件 , centos6系统中再这
/etc/hostname文件,centos7系统中在这
/etc/resolv.conf文件
保存本机需要使用的DNS服务器的IP地址
对该文件所做的修改会立刻生效
Linux系统中最多可以指定3个(第三个以后将被忽略)不同的DNS服务器地址,优先使用第一个DNS服务器
[root@localhost ~]# vim /etc/resolv.conf
search localdomain '默认的搜索域(域名后缀),即,当访问主机localhost 时,相当于访问 localhost.localdomain'
nameserver 100.100.1.30
nameserver 100.100.100.30
/etc/hosts文件
保存主机名与IP地址的映射记录
一般用来保存经常需要访问的主机的信息
hosts文件和DNS服务器的比较
默认情况下,系统首先从hosts文件查找解析记录
当访问一个未知的域名时,先查找该文件中是否有相应的映射记录,如果找不到在去向DNS服务器查询
hosts文件只对当前的主机有效
因为hosts文件只保存在本地
hosts文件可减少DNS查询过程,从而加快访问速度
在/etc/hosts文件中添加正确的映射记录(经常访问的一些网站),减少了DNS查询,提高了上网速度
[root@localhost ~]# vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
6.6.6.6 www.baidu.com '这是新添加的,当访问网站www.baidu.com时,就会直接向IP地址211.168.31.80发送web请求,省略了向DNS服务器解析IP地址的过程'