目录:

关于IP的管理
  Linux网卡的卸载与装载
  配置网络接口
  网络IP配置文件
路由管理
  路由管理命令
  配置动态路由(简介)
  route的配置文件
netstat命令
IP命令
  ip link 查看网络设备配置
  ip addr 设置或删除网络IP
  网卡别名
  设备别名
  ip route 路由表的管理
ss命令
  ss的常见用法
更改主机名
多网卡配置bonding
  Bonding
  bonding工作模式
  bonding配置
  删除bond0

关于IP的管理

Linux网卡的卸载与装载

接口命令方式

以太网:eth[0,1,2…]

ens[33,34…]

ppp:ppp[0,1,2…]

网络接口识别并命名相关的udev配置文件:

/etc/udev/rules.d/70-persistent-net.rules(CentOS 6)

查看网卡:

dmesg | grep –i eth/ens

ethtool –i ens33/eth0

[root@CT691 ~]#ethtool -i eth1
driver: e1000
version: 7.3.-k8-NAPI
firmware-version:
bus-info: ::02.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: no

卸载网卡驱动:

modprobe –r e1000

rmmod e1000

装载网卡驱动:

modprobe e1000

配置网络接口

ifconfig命令

    显示或临时设置网络设备 

  ifconfig –a:查看所有网络设备
  ifconfig down 是禁用网卡
  ifconfig up 启用网卡
  ifdown down 禁止启用IP
  ifup 启用IP
  ifconfig IFACE IP/netmask 设置临时网络(重启无效)
  ifconfig IFACE IP NETMASK (方式2)

[root@CT691 ~]#ifconfig -a
eth0 Link encap:Ethernet HWaddr :0C::B5::0B
inet addr:172.17.252.198 Bcast:172.17.255.255 Mask:255.255.0.0
inet6 addr: fe80::20c:29ff:feb5:830b/ Scope:Link
UP BROADCAST RUNNING MULTICAST MTU: Metric:
RX packets: errors: dropped: overruns: frame:
TX packets: errors: dropped: overruns: carrier:
collisions: txqueuelen:
RX bytes: (408.8 KiB) TX bytes: (2.4 KiB)

  由于此命令设置的参数只是立即在内存中生效,重启后会恢复原设置,因此,想要改变,需要写入配置文件。如何在配置文件中写入,参考下面的网络配置文件。还有就是这个命令是很早的命令,已经被弃用了,现在最常使用的命令是ip,具体使用方法会在下面介绍。

网络IP配置文件

IP、 MASK、 GW、 DNS相关配置文件:

  /etc/sysconfig/network-scripts/ifcfg-*

路由相关的配置文件:

  /etc/sysconfig/network-scripts/route-*

关于/etc/sysconfig/network-scripts/ifcfg-*的具体配置内容,我们可以参考文件/usr/share/doc/initscripts-9.49.30/sysconfig.txt

下面是配置文件的配置选项:

DEVICE:此配置文件应用到的设备

HWADDR:对应的设备的MAC地址

BOOTPROTO:激活此设备时使用的地址配置协议常用的dhcp, static, none, bootp

NM_CONTROLLED: NM是NetworkManager的简写,此网卡是否接受NM控制;建议CentOS6为"no"

ONBOOT:在系统引导时是否激活此设备

TYPE:接口类型;常见有的Ethernet, Bridge

UUID:设备的惟一标识

IPADDR:指明IP地址

NETMASK:子网掩码

GATEWAY: 默认网关

PREFIX:网络ID位数

DNS1:第一个DNS服务器指向

DNS2:第二个DNS服务器指向

USERCTL:普通用户是否可控制此设备

PEERDNS:如果BOOTPROTO的值为"dhcp",是否允许dhcp server分配的dns服务器指向信息直接覆盖至/etc/resolv.conf文件中

路由管理

路由管理命令

查看路由表:

  route –n

[root@CT691 ~]#route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.111.0 0.0.0.0 255.255.255.0 U eth1
172.17.0.0 0.0.0.0 255.255.0.0 U eth0
0.0.0.0 172.17.0.1 0.0.0.0 UG eth0

添加路由信息:

  命令:route add

  格式:route add [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]

示例:

目标: 192.168.1.3 网关: 172.16.0.1

route add -host 192.168.1.3 gw 172.16.0.1 dev eth0

目标: 192.168.0.0 网关: 172.16.0.1

route add -net 192.168.0.0 netmask 255.255.255.0 gw

172.16.0.1 dev eth0

route add -net 192.168.0.0/24 gw 172.16.0.1 dev eth0

添加默认路由

默认路由,网关: 172.16.0.1

route add -net 0.0.0.0 netmask 0.0.0.0 gw 172.16.0.1

route add default gw 172.16.0.1

删除路由信息:

  route del [-net|-host] target [gw Gw] [netmask Nm] [[dev] If]

目标: 192.168.1.3 网关: 172.16.0.1

route del -host 192.168.1.3

目标: 192.168.0.0 网关: 172.16.0.1

route del -net 192.168.0.0 netmask 255.255.255.0

route的配置文件

  位置:/etc/sysconfig/network-scripts/route-IFACE

两种风格:

(1) TARGET via GW

如: 10.0.0.0/8 via 172.16.0.1

(2) 每三行定义一条路由

ADDRESS#=TARGET

NETMASK#=mask

GATEWAY#=GW

设置完以后,如果想让它生效,一定要重启网络服务service network restart

netstat命令

  netstat命令用来打印Linux中网络系统的状态信息,可让你得知整个Linux系统的网络情况。但是这是一个比较老的工具,对此命令我们需要了解,后面我们还是需要学习一个IP命令,功能更好。

  命令:netstat

  作用: Print network connections, routing tables, interface,statistics, masquerade connections, and multicast memberships

显示网络连接

  netstat [--tcp|-t] [--udp|-u] [--raw|-w] [--listening|-l] [--all|-a] [--numeric|-n] [--extend|-e[--extend|-e]] [--program|-p]  

    -t: tcp协议相关
    -u: udp协议相关
    -w: raw socket相关
    -l: 处于监听状态
    -a: 所有状态
    -n: 以数字显示IP和端口;
    -e:扩展格式
    -p: 显示相关进程及PID

常用组合:

-tan, -uan, -tnl, -unl

显示路由表:

  netstat {--route|-r} [--numeric|-n]

  -r: 显示内核路由表

  -n: 数字格式

显示接口统计数据:

  netstat {--interfaces|-I|-i} [iface] [--all|-a] [--extend|-e] [--program|-p] [--numeric|-n]

  netstat -i

  netstat –Iiface

  ifconfig -s eth0

[root@CT691 ~]#ifconfig -s eth0
Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0 BMRU
[root@CT691 ~]#netstat -i
Kernel Interface table
Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0 BMRU
eth1 BMRU
lo LRU

IP命令

ip命令用来显示或操纵Linux主机的路由、网络设备、策略路由和隧道,是Linux下较新的功能强大的网络配置工具。

格式:ip [ OPTIONS ] OBJECT { COMMAND | help }

选项:

OBJECT : { link | addr | route }

在这个参数中,link是设置后查看数据链路层的,addr是设置ip可以使用,route是指设置路由器。

ip link 查看网络设备配置

set iface 可以设置属性:up/down(激活或禁用指定接口)

show [dev IFACE]:指定接口(和使用ip link效果一样)

 [up]:仅显示处于激活状态的接口

[root@CT691 ~]#ip link
: lo: <LOOPBACK,UP,LOWER_UP> mtu qdisc noqueue state UNKNOWN
link/loopback ::::: brd :::::
: pan0: <BROADCAST,MULTICAST> mtu qdisc noop state DOWN
link/ether :::ae::5f brd ff:ff:ff:ff:ff:ff
: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu qdisc pfifo_fast state UP qlen
link/ether :0c::b5::0b brd ff:ff:ff:ff:ff:ff
: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu qdisc pfifo_fast state UP qlen
link/ether :0c::b5:: brd ff:ff:ff:ff:ff:ff

ip addr 设置或删除网络IP

ip addr { add | del } IFADDR dev STRING

[label LABEL]:添加地址时指明网卡别名

[scope {global|link|host}]:指明作用域

global: 全局可用

link: 仅链接可用

host: 本机可用

[broadcast ADDRESS]:指明广播地址

ip addr show查看当前网络配置(和ip addr显示一样)

[dev DEVICE]

[label PATTERN]

[primary and secondary]

ip addr flush 清除网络设置(ip)

示例

[root@CT691 ~]#ip addr add 172.16.100.100/ dev eth0 label eth0:
[root@CT691 ~]#ip addr del 172.16.100.100/ dev eth0 label eth0: 
[root@CT691 ~]#ip addr flush dev eth0 label eth0:

可以加多个同网段IP,在同网段的有优先级问题

网卡别名

对虚拟主机有用

将多个IP地址绑定到一个NIC上

eth0:1 、 eth0:2、 eth0:3

ifconfig命令:

  ifconfig eth0:0 192.168.1.100/24 up

  ifconfig eth0:0 down

设备别名

为每个设备别名生成独立的接口配置文件

文件位置:/etc/sysconfig/network-scripts/

关闭NetworkManager服务

格式:ifcfg-ethX:xxx

必须使用静态联网,如:

  DEVICE=eth0:0

  IPADDR=10.10.10.10

  NETMASK=255.0.0.0

  ONPARENT=yes

必须重启网络服务生效:service network restart

ip route 路由表的管理

ip route add:添加路由

ip route add TARGET via GW dev IFACE src SOURCE_IP

    TARGET:

主机路由: IP

网络路由: NETWORK/MASK

示例:   

[root@CT691 ~]# ip route add 192.168.0.0/ via 172.16.0.1
[root@CT691 ~]#ip route add 192.168.1.13 via 172.16.0.1 

添加网关

  ip route add default via GW dev IFACE

  ip route add default via 172.16.0.1(添加默认路由)

  ip route delete:删除路由

ip route del TARGET

显示路由

  ip route show|list

  route -n

清空路由表:

  ip route flush [dev IFACE] [via PREFIX]

  ip route flush dev eth0

ss命令

ss命令用来显示处于活动状态的套接字信息。ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容。但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效。

当服务器的socket连接数量变得非常大时,无论是使用netstat命令还是直接cat /proc/net/tcp,执行速度都会很慢。可能你不会有切身的感受,但请相信我,当服务器维持的连接达到上万个的时候,使用netstat等于浪费 生命,而用ss才是节省时间。

格式: ss [OPTION]... [FILTER]

选项:

-t: tcp协议相关

-u: udp协议相关

-w: 裸套接字相关

-x: unix sock相关

-l: listen状态的连接

-a: 所有

-n: 数字格式

-p: 相关的程序及PID

-e: 扩展的信息

-m:内存用量

-o:计时器信息

FILTER : [ state TCP-STATE ] [ EXPRESSION ]

TCP的常见状态:

tcp finite state machine:

LISTEN: 监听

ESTABLISHED:已建立的连接

FIN_WAIT_1

FIN_WAIT_2

SYN_SENT

SYN_RECV

CLOSED

EXPRESSION:

dport =

sport =

示例:' ( dport = :ssh or sport = :ssh )

常用组合:

-tan, -tanl, -tanlp, -uan

ss的常见用法

  ss -l 显示本地打开的所有端口

  ss -pl 显示每个进程具体打开的socket

  ss -t -a 显示所有tcp socket

  ss -u -a 显示所有的UDP Socekt

  ss -o state established '( dport = :ssh or sport = :ssh、)' 显示所有已建立的ssh连接

  ss -o state established '( dport = :http or sport =:http )' 显示所有已建立的HTTP连接

  ss -s 列出当前socket详细信息

更改主机名

在Linux上主机名仅仅作为一个识别的名称来使用,并没有网络的识别功能也就是说我们可以随意的修改它,但是,我们最好修的和自己的系统相关的名称,以便识别和使用。

查看主机名:hostname

可以让我们修改主机名的文件:

/etc/sysconfig/network

将HOSTNAME=后面的东西给改成自己需要的主机名就好了。

多网卡配置bonding

Bonding

就是将多块网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡。当然,直接给两块网卡设置同一IP地址是不可能的。通过bonding,虚拟一块网卡对外提供连接,物理网卡的被修改为相同的MAC地址

bonding工作模式

Mode 0 (balance-rr)

轮转(Round-robin)策略:从头到尾顺序的在每一个slave接口上面发送数据包。本模式提供负载均衡和容错的能力

Mode 1 (active-backup)

活动-备份(主备)策略:只有一个slave被激活,当且仅当活动的slave接口失败时才会激活其他slave。 为了避免交换机发生混乱此时绑定的MAC地址只有一个外部端口上可见

Mode 3 (broadcast)

广播策略:在所有的slave接口上传送所有的报文,提供容错能力。

active-backup、 balance-tlb 和 balance-alb 模式不需要交换机的任何特殊配置。其他绑定模式需要配置交换机以便整合链接。如: Cisco 交换机需要在模式 0、 2 和 3 中使用EtherChannel,但在模式4中需要 LACP和 EtherChannel

bonding配置

首先我们配置一个/etc/sysconfig/network-scripts/ifcfg-bond0的文件,这个文件原来是不存在的,我们需要手动配置

这个文件的配置内容是:

DEVICE=bond0

  BOOTPROTO=none

  IPADDR=

  BONDING_OPTS= "miimon=100 mode=0"

这里面的地址IPADDR是我们最后要访问的地址。

接下来,我们看一下我们的网卡配置文件里面需要加什么,假设我们有两块网卡,每一块网卡里面我们对都需要加上以上信息:

/etc/sysconfig/network-scripts/ifcfg-eth*

  MASTER=bond0

  SLAVE=yes

  USERCTL=no

然后,我们重启网络,之后,我们可以用其他主机对此主机进行访问,可以查看到我们的网卡工作的状态,cat /proc/net/bonding/bond0比如:

miimon 是用来进行链路监测的。如果miimon=100,那么系统每100ms 监测一次链路连接状态,如果有一条线路不通就转入另一条线路。

删除bond0

ifconfig bond0 down

rmmod bonding

如果不再使用,直接删除再网卡配置文件里的信息

MASTER=bond0

SLAVE=yes

USERCTL=no

详细帮助:

/usr/share/doc/kernel-docversion/Documentation/networking/bonding.txt

https://www.kernel.org/doc/Documentation/networking/bonding.txt

网络配置之基本网络配置(cenos6)的更多相关文章

  1. CCNA网络工程师学习进程(6)vlan相关协议的配置与路由器简单配置介绍

        前面已经介绍了大部分与vlan技术相关的交换机的协议的配置,更深层次的还有STP协议和以太网端口聚合技术,接着还会简单介绍一下路由器的基本应用.     (1)STP(Spanning-tre ...

  2. CDN网络(二)之配置和优化CDN核心缓存软件--squid

    前言 squid是众多CDN厂商使用的核心缓存软件,都在已有的基础上进行二次开发.在部署squid的时候,建议遵循下面的规范. 1. 使用大内存服务器 对于热点文件,我们让squid用内存缓存,这样大 ...

  3. 已禁用对分布式事务管理器(MSDTC)的网络访问。请使用组件服务管理工具启用 DTC 以便在 MSDTC 安全配置中进行网络访问。

    今天写ASP.NET程序,在网页后台的c#代码里写了个事务,事务内部对一张表进行批量插入,对另外一张表进行查询与批量插入. 结果第二张表查询后foreach迭代操作时报错:已禁用对分布式事务管理器(M ...

  4. (四)跟我一起玩Linux网络服务:DHCP服务配置之中继代理

    继第三部分的DHCP服务器的设置成功,我们来做一个中继代理服务器的配置吧. 我们的虚拟机结构如图: 具体参考: (一)跟我一起玩Linux网络服务:DNS服务——BIND(/etc/named.con ...

  5. FC网络学习笔记02 -网络配置方法

    随着新一代飞机的综合化航电系统对通信需求的不断提高,传统的ARINC429.1553B总线的传输速率分别只有100Kbps和1Mbps,其带宽已远远不 论文联盟 http://Www.LWlm.cOm ...

  6. Cloud Foundry中warden的网络设计实现——iptable规则配置

    在Cloud Foundry v2版本号中,该平台使用warden技术来实现用户应用实例执行的资源控制与隔离. 简要的介绍下warden,就是dea_ng假设须要执行用户应用实例(本文暂不考虑ward ...

  7. Linux_系统管理_网络配置_命令行配置网络

    因为格了系统,重新安装了VMware,加载了原来的虚拟机后,因为VMware虚拟网卡Vmnet8的地址已经变了,所以要改变下客户操作系统的地址,结果搞了半天才搞定,这里记下来,希望能够为遇到这类问题的 ...

  8. 自学Aruba6.1-基本网络参数配置(web页面配置)

    点击返回:自学Aruba之路 自学Aruba6.1-基本网络参数配置(web页面配置) 1 配置VLAN 1.1  新建VLAN Configuration---VLANs中,VLANID选项卡下的A ...

  9. 配置iSCSI部署网络存储

    iSCSI( Internet Small Computer System Interface 互联网小型计算机系统接口)是由IBM 下属的两大研发机构一一加利福尼亚AImaden和以色列Haifa研 ...

随机推荐

  1. class类的初始化

    class类的初始化 C++中引入了构造器这个概念(constructor)的概念,这是在创建一个对象时被自动调用的特殊方法.  Java也引入了构造器  构造器的主要的作用就是确保每个对象都会得到初 ...

  2. Go语言学习笔记(八)golang 操作 Redis & Mysql & RabbitMQ

    加 Golang学习 QQ群共同学习进步成家立业工作 ^-^ 群号:96933959 Reids 安装导入 go get github.com/garyburd/redigo/redis import ...

  3. asp.net core MVC 全局过滤器之ExceptionFilter异常过滤器(一)

    本系类将会讲解asp.net core MVC中的内置全局过滤器的使用,将分为以下章节 asp.net core MVC 过滤器之ExceptionFilter异常过滤器(一) asp.net cor ...

  4. Ubuntu Docker 安装和配置 GitLab CI 持续集成

    相关文章: Ubuntu Docker 简单安装 GitLab 劈荆斩棘:Gitlab 部署 CI 持续集成 目的:在 Ubuntu 服务器上,使用 Docker 安装和配置 GitLab Runne ...

  5. 基于FPGA的均值滤波算法实现

    我们为了实现动态图像的滤波算法,用串口发送图像数据到FPGA开发板,经FPGA进行图像处理算法后,动态显示到VGA显示屏上,前面我们把硬件平台已经搭建完成了,后面我们将利用这个硬件基础平台上来实现基于 ...

  6. 前端开发中一些好用的chrome插件总结

    下载了很多chrome插件和应用,有些是常用的,有些偶尔用一次,有些是不止开发中用的,现做一下总结: 红色是个人认为比较好用的,排名不分先后 1.AppJump管理应用的插件  安装了许多应用之后肯定 ...

  7. 大道至简第一章读后感——java伪代码形式

    大道至简这本书第一章在向读者展示编程的精义.开篇以愚公移山的例子来描述软件工程项目.愚公,作为一名工程名家,集项目组织者.团队经理.编程人员.技术分析师于一身,来领导工程的进行.下面我们来看看这个项目 ...

  8. JVM 调优总结

    避免FullGC: 1.通过调整堆中新生代和幸存代大小,避免因为幸存代不足而让Minor GC后的对象进入老年代.每次Minor GC都有对象进入老年代会造成数次MinorGC后FullGC. 2.减 ...

  9. iOS 微信支付流程详解

    背景 自微信支付.支付宝支付入世以来,移动端的支付日渐火热.虚拟货币有取代实体货币的趋向(这句纯属扯淡,不用管),支付在app开发中是一项基本的功能,有必要去掌握.从难易程度上讲,不管是微信支付还是支 ...

  10. 【DDD】领域驱动设计实践 —— 框架实现

    本文主要了在社区服务系统(ECO)中基于SpringMVC+mybatis框架对DDD的落地实现.本文为系列文章中的其中一篇,其他内容可参考:通过业务系统的重构实践DDD. 框架实现图 该框架实现基本 ...