本节主要内容
- ifconfig命令
- 网络配置
- 其它常用网络管理命令
1. ifconfig命令
ifconfig命令主要用于配置网络接口,如果不加任何参数,则ifconfig命令用于查看当前所有活动网络接口的状态信息,例如:
图中的eth0表示活动的以太网接口,对应的描述信息中给出了网络的整体状况信息包括网络类型、MAC地址、IP地址、子网掩码等等,lo表示本地环回网络地址。从图中可以看到,所有的网络类型都是inet即基于TCP/IP协议的网络。
目前支持的主流协议包括:
inet (TCP/IP, 默认),
inet6 (IPv6),
ax25 (AMPR Packet Radio),
ipx (Novell IPX)
netrom (AMPR Packet radio).
ifconfig其它常用选项包括:
-a 显示所有网络接口,包括停用的
-s 短格式显示网络信息,同netstat -i
-v 显示详细信息,在网络出错的情况下适用
interface 指定网络接口
up 启用网络接口
down 关闭网络接口
例子:
(1)ifconfig -a
图中的pan0表示蓝牙设备,默认不开启
(2) ifconfig pan0 up
开启前 ifconfig -a显示的信息
pan0 Link encap:Ethernet HWaddr d6:98:40:b0:9e:9d
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
执行完命令ifconfig pan0 up后
pan0 Link encap:Ethernet HWaddr d6:98:40:b0:9e:9d
inet6 addr: fe80::d498:40ff:feb0:9e9d/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:468 (468.0 B)
(3) ifconfig eth0 down禁用网络
2. 网络配置
目前网络配置采用的仍然是NAT即网络地址转换的形式
除NAT连网方式,VMWare还提供桥接(Bridged)与Host-only网络连接方式。它们之间的相关描述如下(部分内容引自http://www.cnblogs.com/ggjucheng/archive/2012/08/19/2646007.html):
(1)桥接
桥接网络是指本地物理网卡和虚拟机网卡通过VMnet0虚拟交换机进行桥接,物理网卡和虚拟网卡在拓扑图上处于同等地位,即物理网卡和虚拟网卡就相当于处于同一个网段,虚拟交换机就相当于一台现实网络中的交换机,因此两个网卡的IP地址也要设置为同一网段。
如果局域网中还有其他设备需要登录到虚拟机上,例如虚拟机提供ssh登录,此时最适用于使用桥接方式进行连网。
(2)NAT
NAT模式中,就是让虚拟机借助NAT(网络地址转换)功能,通过宿主机器所在的网络来访问网络。NAT模式中,虚拟机的网卡和物理网卡的网络,不在同一个网络,虚拟机的网卡,是在vmware提供的一个虚拟网络。
(3)Host-Only
在Host-Only模式下,虚拟网络是一个全封闭的网络,它唯一能够访问的就是主机。其实Host-Only网络和NAT网络很相似,不同的地方就是Host-Only网络没有NAT服务,所以虚拟网络不能连接到Internet。主机和虚拟机之间的通信是通过VMware Network Adepter VMnet1虚拟网卡来实现的。
Host-Only的宗旨就是建立一个与外界隔绝的内部网络,来提高内网的安全性。这个功能或许对普通用户来说没有多大意义,但大型服务商会常常利用这个功能。如果你想为VMnet1网段提供路由功能,那就需要使用RRAS,而不能使用XP或2000的ICS,因为ICS会把内网的IP地址改为192.168.0.1,但虚拟机是不会给VMnet1虚拟网卡分配这个地址的,那么主机和虚拟机之间就不能通信了。
NAT和桥接的比较:
(1) NAT模式和桥接模式虚拟机都可以上外网。
(2) 由于NAT的网络在vmware提供的一个虚拟网络里,所以局域网其他主机是无法访问虚拟机的,而宿主机可以访问虚拟机,虚拟机可以访问局域网的所有主机,因为真实的局域网相对于NAT的虚拟网络,就是NAT的虚拟网络的外网,不懂的人可以查查NAT的相关知识。
(3) 桥接模式下,多个虚拟机之间可以互相访问;NAT模式下,多个虚拟机之间也可以相互访问。
如果你建一个虚拟机,只是给自己用,不需要给局域网其他人用,那么可以选择NAT,毕竟NAT模式下的虚拟系统的TCP/IP配置信息是由VMnet8(NAT)虚拟网络的DHCP服务器提供的,只要虚拟机的网路配置是DHCP,那么你不需要进行任何其他的配置,只需要宿主机器能访问互联网即可,就可以让虚拟机联网了。
综述
在VMware的3中网络模式中,NAT模式是最简单的,基本不需要手动配置IP地址等相关参数。至于桥接模式则需要额外的IP地址,如果是在内网环境中还很容易,如果是ADSL宽带就比较麻烦了,ISP一般是不会大方的多提供一个公网IP的。
在后期Hadoop、Spark集群搭建时,我们不建议使用NAT网络连接方式,因为NAT方式,每次关闭虚拟机重新启动后,分配的IP地址可能会不一样,这样的话不利用主机与IP地址的映射,因此推荐使用桥接方式,本节将着重讲解如果通过桥接方式进行网络配置,在配置之前先将虚拟机的网络连接方式设置为桥接,如下图
完成后按如下步骤进行网络配置:
1 修改 /etc/network/interfaces 文件内容,修改后的内容如下:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.1.120
netmask 255.255.255.0
gateway 192.168.1.1
2 使配置后的网络地址生效
root@ubuntu:/var/lib/aptitude# vim /etc/network/interfaces
//启动网络
root@ubuntu:/var/lib/aptitude# ifconfig eth0 up
//查看ip地址,发现没有产生变化
root@ubuntu:/var/lib/aptitude# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0c:29:e1:4c:1f
inet addr:192.168.47.130 Bcast:192.168.47.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fee1:4c1f/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:25217 errors:0 dropped:0 overruns:0 frame:0
TX packets:7879 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:15912320 (15.9 MB) TX bytes:588004 (588.0 KB)
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:153 errors:0 dropped:0 overruns:0 frame:0
TX packets:153 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:11580 (11.5 KB) TX bytes:11580 (11.5 KB)
pan0 Link encap:Ethernet HWaddr d6:98:40:b0:9e:9d
inet6 addr: fe80::d498:40ff:feb0:9e9d/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:468 (468.0 B)
//通过下列命令之后,修改后的ip地址才会生效
root@ubuntu:/var/lib/aptitude# /etc/init.d/networking restart
* Reconfiguring network interfaces... SIOCDELRT: No such process
ssh stop/waiting
ssh start/running, process 14692
[ OK ]
root@ubuntu:/var/lib/aptitude# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0c:29:e1:4c:1f
inet addr:192.168.1.120 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fee1:4c1f/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:25217 errors:0 dropped:0 overruns:0 frame:0
TX packets:7899 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:15912320 (15.9 MB) TX bytes:591109 (591.1 KB)
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:156 errors:0 dropped:0 overruns:0 frame:0
TX packets:156 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:11826 (11.8 KB) TX bytes:11826 (11.8 KB)
pan0 Link encap:Ethernet HWaddr d6:98:40:b0:9e:9d
inet6 addr: fe80::d498:40ff:feb0:9e9d/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:468 (468.0 B)
3 设置DNS
光通过前面的设置,只能进行同一网络下的主机之间通信,如果要连接公网,还需要设置DNS,方法如下:
vim /etc/resolv.conf
将nameserver修改为8.8.8.8(google提供的域名解析服务)
,保存完成后,再执行
/etc/init.d/networking restart命令使域名设置生效。
完成后,如果使用ping www.baidu.com命令,能ping通则说明配置成功
3. 其它常用网络管理命令
(1)host进行DNS查询
root@ubuntu:/var/lib/aptitude# host www.baidu.com
www.baidu.com is an alias for www.a.shifen.com.
www.a.shifen.com has address 119.75.218.70
www.a.shifen.com has address 119.75.217.109
(2)netstat命令
netstat命令可以显示网络接口的很多统计信息,包括打开的socket和路由表
root@ubuntu:/var/lib/aptitude# netstat -r
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
link-local * 255.255.0.0 U 0 0 0 eth0
default 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
(3)traceroute命令
traceroute命令进行路由追踪
root@ubuntu:/var/lib/aptitude# traceroute www.baidu.com
traceroute to www.baidu.com (119.75.217.109), 30 hops max, 60 byte packets
1 192.168.1.1 (192.168.1.1) 3.382 ms 3.164 ms 3.610 ms
2 218.108.255.67 (218.108.255.67) 3.354 ms 3.114 ms 2.884 ms
3 218.109.2.70 (218.109.2.70) 2.683 ms 2.798 ms 2.300 ms
4 30.250.9.6 (30.250.9.6) 2.634 ms 3.524 ms 2.535 ms
5 30.207.6.97 (30.207.6.97) 3.085 ms 2.257 ms 2.891 ms
6 *
(4)ping命令
ping命令常用来测试网络连接是否正常
root@ubuntu:/var/lib/aptitude# ping www.baidu.com
PING www.a.shifen.com (119.75.218.70) 56(84) bytes of data.
64 bytes from 119.75.218.70: icmp_seq=1 ttl=55 time=68.3 ms
64 bytes from 119.75.218.70: icmp_seq=2 ttl=55 time=113 ms
64 bytes from 119.75.218.70: icmp_seq=3 ttl=55 time=69.4 ms
添加公众微信号,可以了解更多最新Spark、Scala相关技术资讯