linux网络配置

KinglyJn      2016-12-09

常用网络诊断命令

#基本工具
#网络诊断的第一步,是了解自己的设备,比如有哪些接口,IP地址都是什么
#显示网络接口(interface)信息。如接口名称,接口类型,接口的IP地址,硬件的MAC地址等
$ ifconfig


#局域网内部(ARP)
#ARP协议用在局域网(LAN)内部。借用ARP协议,设备可以知道同一局域网内的IP-MAC对应关系。
#当我们访问一个本地IP地址时,设备根据该对应关系,与对应的MAC地址通信。通过ARP工具,我们可以知道局域网内的通信是否正常。
$ arp -a                            #显示本地存储的IP-MAC对应关系
$ sudo arping -I eth0 192.168.1.1   #经eth0接口,发送ARP请求,查询IP为192.168.1.1设备的MAC地址
$ sudo arp-scan -l                  #查询整个局域网内的所有IP地址的对应MAC地址


#网络层
#ping是向某个IP地址发送ICMP协议的ECHO_REQUEST请求,许多设备会禁用ICMP。如果ping不到一个设备,并不一定是网络层故障
#如果两个设备有相同的IP地址,将导致IP冲突。许多网络中是由DHCP协议自动分配IP地址的,这样可以极大的减少IP冲突的可能性。
#DHCP服务器与设备达成协议,设备将在一定时间内占据某个IP地址,而DHCP服务器不再把该IP地址分配给别人。
$ ping 192.168.1.1   


#路由
#局域网通过路由器,接入广域的互联网。互联网上的通信往往要经过多个路由器接力。途中路由器的故障,可能导致互联网访问异常。
$ netstat -nr               #显示路由表。从路由表中,可以找到网关(Gateway)。网关是通向更加广域网络的出口。
$ traceroute 74.125.128.99  #追踪到达IP目的地的全程路由。
$ traceroute -I 74.125.128.99  #通过ICMP协议,追踪路由。ICMP协议经常会被禁用,所以会返回"*"的字符串


#网络监听
#tcpdump是一款网络抓包工具。它可以监听网络接口不同层的通信,并过滤出特定的内容,比如特定协议、特定端口等等。
$ sudo tcpdump -i en0   #监听en0接口的所有通信
$ sudo tcpdump -A -i en0   #用ASCII显示en0接口的通信内容
$ sudo tcpdump -i en0 'port 8080'   #显示en0接口的8080端口的通信
$ sudo tcpdump -i eth1 src 192.168.1.200  #显示eth1接口,来自192.168.1.200的通信
$ sudo tcpdump -i eth1 dst 192.168.1.101 and port 80  #显示eth1接口80端口,目的地为192.168.1.101的通信
$ sudo tcpdump -w record.pcap -i lo0   #将lo0接口的通信存入文件record.pcap


#域名解析
#DNS是在域名和IP之间进行翻译。DNS故障会导致我们无法通过域名访问某个网址。 
#DNS域名解析。返回域名对应的IP地址
$ host www.sina.com.cn


ubuntu系统

$ service  networking restart #重启网络服务
$ stop: Job failed while stoppingstart: Job is already running: networking

$ tail -f /var/log/upstart/networking.log #查看错误日志
Stopping or restarting the networking job is not supported.Use ifdown & ifup to reconfigure desired interface

从以上日志内容可以看出,传统的service重启和停止网络已经不再支持了,需要通过使用ifdown & ifup来实现相应的操作。
ubuntu重启指定网卡
$ ifdown eth0 && ifup eth0
重启除lo网卡的所有网卡:
$ ifdown –exclude=lo -a && sudo ifup –exclude=lo -a

所以ubuntu网络配置如下:

# 1.配置网络设备参数
$ apt-get install bridge-utils
$ cat /etc/network/interfaces
$ sudo vi /etc/network/interfaces
#
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet manual

auto br0
iface br0 inet static  #static静态  #dhcp动态自动分配ip
address 192.168.0.10
netmask 255.255.255.0
gateway 192.168.0.1
bridge_ports eth0
bridge_stp off
bridge_fd 0
bridge_maxwait 0
dns-nameservers 192.168.0.1
# ifup br0
# brctl  show
bridge name   bridge id       STP enabled interfaces
br0       8.02a0080e1   no      eth0


#2.配置DNS
方法一、修改/etc/network/interfaces(看我说的interfaces文件是万能的吧,能配IP,能配路由)
方法二、修改/etc/resolvconf/resolv.conf.d/base文件,该文件默认是空的,在里面写入(永久生效)
方法三、修改/etc/resolv.conf,当然这个方法是临时的,你下一次重启或者重启网络服务之后,就会失效
cat /etc/resolvconf/resolv.conf.d/base   
nameserver 223.5.5.5
nameserver 114.114.114.114

#3.检查网卡状态
#输入命令:ethtool eth0
#Link detected:yes,表示网卡已连接


#4.修改主机名
$ cat /etc/hostname


#5.修改或查看hosts
cat /etc/hosts


redhat&centos系统

方法一:setup

方法二:直接编辑配置文件

# 1.配置网络设备参数
$ sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=表示物理设备的名字
ONBOOT=yes表示系统启动时激活该设备,no表示不激活
BOOTPROTO=取值可以是static(静态配置)、bootp(使用bootp协议)、dhcp(使用dhcp协议)
BROADCAST=表示广播地址
IPADDR=表示该网卡的IP地址
PREFIX=子网掩码
GATEWAY=表示网关
DNS*=表示DNS

ep.
DEVICE=eth0
TYPE=Ethernet
UUID=xxxxxxxx-xxxx-xxxx-xxxx-af4d388f4411
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=dhcp
HWADDR=00:0C:29:2B:D9:90
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"
LAST_CONNECT=1477397560


#2.配置DNS
#配置完毕后重启网络服务
#输入命令:sudo service network restart 使配置生效
#生效顺序:1 hosts文件 ----2 网卡配置文件DNS服务地址 ---3 /etc/resolv.conf
#正向解析命令:nslookup www.baidu.com
#反向解析命令:nslookup --qt=ptr 220.181.57.217  (逆向解析域in-addr.arpa)
#在域名系统中,一个IP地址可以对应多个域名,但只有一个逆向解析域in-addr.arpa
#例如一个IP地址:222.211.233.244,其逆向域名表达方式为:244.233.221.222.in-addr.arpa
$ sudo vi /etc/resolv.conf
ep.
# Generated by NetworkManager
domain localdomain
search localdomain
nameserver 172.16.127.2  #你的DNS主机,可以配置多个


#3.检查网卡状态
#输入命令:ethtool eth0
#Link detected:yes,表示网卡已连接


#4.修改或查看主机名
cat /etc/sysconfig/network
#
NETWORKING=yes
HOSTNAME=localhost.localdomain
GATEWAY=192.168.10.1


#5.修改或查看hosts
cat /etc/hosts


如果服务器是有虚拟软件vmware虚拟出来的,那么也要进行相应的网络设置,下面按顺序给出相应的说明和配置过程:













Tags:


Share: