linux常用网络配置

网卡名称:

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

   /etc/udev/rules.d/70-persistent-net.rules

 卸载网卡驱动:

   modprobe  -r e1000

 装载网卡驱动:

   modprobe  e1000

 网卡名定义在 /etc/udev/rules.d/70-persistent-net.rules 文件中,定义了网卡命名的详细方式,

  这个文件是安装系统时自动生成的

wKioL1fNLfvgm5zhAAAuGUd9aas327.png

 可以在这个文件中,修改NAME选项,以更改网卡名,修改以后需要需改相应的配置文件,否则网卡无法启动,

 编辑网卡配置文件 vim /etc/sysconfig/network-scripts/ifcfg-网卡名

   修改”DEVICE=“项

 修改以后可以使用 service network restart 命令重启网络服务

  如果修改配置文件后,自动生效了,那是因为有 NetworkManager服务在运行,但是这个服务的生效结果完全是靠运气,所以一般情况下,都是把这个服务给关闭。

可是使用 service NetworkManager status 命令查看服务状态

service NetworkManager stop   停止此服务

chkconfig NetworkManager off  下次系统启动时不启动此服务

网卡配置文件"/etc/sysconfig/network-scripts/ifcfg-eth0"各项所代表的意思:

wKioL1fNLh7z23NrAAJI1jdgqFI024.png




网卡别名:

   工作做经常遇到,在多个网络环境中来回切换,如果只有一个IP需要来回改动,所以就需要一个网卡绑定多个IP地址,这样就可以避免来回手动切换网络。

 网卡别名:

    首先,关闭NetworkManager服务

      service NetworkManager stop

    创建一个配置文件 ,文件名为网卡的文件名+“:num”如 :

网卡文件为:ifcfg-eth0 ,创建文件“ifcfg-eth0:1",冒号后跟的数字,可以随意指定。


示例:虚拟网卡实现一个网卡多个地址

#cd /etc/sysconfig/network-scripts
#vim ifcfg-eth0
    DEVICE="eth0"
    BOOTPROTO="dhcp"
    ONBOOT="yes"
    ~
#vim ifcfg-eth0:1
    DEVICE="eth0:1"
    IPADDR=10.1.1.60
    PREFIX=16
    GATEWAY=10.1.1.254
    DNS1=8.8.8.8
    ONPARENT=yes

重启网络服务:

wKioL1fNLnqz4HEJAAAiWfp911U253.png

查看网卡信息:

wKioL1fNLq-R_WD7AABqIgYUDXE898.png

使用网卡别名需要注意的是:

  对虚拟主机有用

  将多个IP地址绑定到一个NIC上,命名格式:

    eth0:1

    eth0:2

    eth0:3

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

     1、关闭NetworkManager服务

    2、配置文件命名格式ifcfg-ethX:xxx

     3、必须使用静态联网

        DEVICE=eth0:0

        IPADDR=10.10.10.10

        NETMASK=255.0.0.0

        ONPARENT=yes

    注意:重启网络服务service network restart 生效

    参考/usr/share/doc/initscripts-*/sysconfig.txt

网络接口配置-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接口上传送所有的报文。本模式提供容错能力。Bonding配置

创建bonding设备的配置文件

#vim /etc/sysconfig/network-scripts/ifcfg-bond0

DEVICE=bond0
BOOTPROTO=none
BONDING_OPTS=“miimon=100 mode=0”
#vim  /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
USERCTL=no

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

 查看bond0状态:/proc/net/bonding/bond

 关于bonding的详细配置请参照:

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


示例:

创建Mode 1 (active-backup)

首先确保NetworkManager 服务处于停止状态

# service NetworkManager stop

在/etc/sysconfig/network-scripts目录下创建bonding配置文件

# vim ifcfg-bond0

DEVICE=bond0
IPADDR=10.1.252.60
PREFIX=16
GATEWAY=10.1.0.1
DNS1=8.8.8.8
BONDING_OPTS="miimon=100 mode=1"

而后编辑第一块网卡的配置文件

# vim ifcfg-eth0

DEVICE=eth0
SLAVE=yes
MASTER=bond0

编辑第二块网卡的配置文件:

# vim ifcfg-eth1

DEVICE=eth1
SLAVE=yes
MASTER=bond0

重启网络服务:

# service network restart

成功执行ifconfig 命令可以看到两块网卡的MAC地址完全一样,及两个网卡共用一个MAC地址

wKioL1fNMwyAfxP-AABTZv2ahnA997.png

查看/proc/net/bonding/bond0文件可以看到当前工作的网卡

wKioL1fNMyyj9IzmAAA9JcRnSBM914.png

测试:使用另一台机器,ping这个服务器,ping时手工切断eth0,由于设置的时间是100ms检测一次,所以100ms后eth1顶替eth0工作,中间交接时间丢失一个是数据包

wKioL1fNM0-AvZmqAABNX-lbwWc683.png

再次查看/proc/net/bonding/bond0文件可以发现eth1处于活跃状态。

wKiom1fNM2_wmAcjAAAvT29Rasg492.png

跨网络通信:路由

路由分类:

    主机路由

    网络路由

    默认路由

路由管理命令:

查看:route -n

添加:route add

route add [-net|-host] target [netmask Nm] [gwGw] [[dev] If]

例:

 目标:192.168.1.3 网关:172.16.0.1

# route add -host 192.168.1.3 gw172.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 gw172.16.0.1 dev eth0
# route add -net 192.168.0.0/24 gw172.16.0.1 dev eth0

 默认路由,网关:172.16.0.1

# route add -net 0.0.0.0 netmask 0.0.0.0 gw172.16.0.1
# route add default gw172.16.0.1

删除:route del

route del [-net|-host] target [gwGw] [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

示例:

在VMware中,使用两台主机当作路由设备,分别为R1,R2。另外需要两台客户机,实现跨网段访问。

R1:两个端口,分别为:

    eth0:192.168.60.1/24

    eth1:10.10.0.1/8

R2:两个端口,分别为:

    eth0:172.30.0.1/24

    eth1:10.10.0.2/8

客户机1:

    192.168.60.60/24

客户机2:

    172.30.0.60/16

 如图所示,就可以实现客户机1与客户机二的相互访问,由于R1与R2需要互联,所以他们的某个端口需要在同一个网段中。

wKiom1fNNlHDTunHAAA9dWCV4_s338.png

具体步骤如下:

设置R1:

首先关闭,NetworkManager服务

# service NetworkManager stop

打开路由转换:

 将文件/proc/sys/net/ipv4/ip_forword文件改为1,处于开启状态

#   echo  1 > /proc/sys/net/ipv4/ip_forword

设置R1端口eth0:

#  vim  /etc/sysconfig/network-scripts/ifcfg-eth0
    DEVICE=eth0
    IPADDR=192.168.60.1
    PREFIX=24

保存退出

设置R1端口eth1:

 # vim  /etc/sysconfig/network-scripts/ifcfg-eth1
    DEVICE=eth1
    IPADDR=10.10.0.1
    PREFIX=8

保存退出

重启网络服务:

# service network restart

添加路由表:

  路由表相邻网段自动生成,只需要添加不相邻的网段,而设置网关需要设置为下一个路由器的临近接口。

#  route add -net 172.30.0.0/16  gw 10.10.0.2 dev eth1

清空防火墙列表:

# iptables -F

R1详细信息:

wKiom1fNNwuxI6LlAABFH7iW0Iw185.png

wKioL1fNNwvCNc6-AAAckrzkTRw609.png

设置R2:

步骤和设置R1移至,只是一些参数不同,

 首先关闭,NetworkManager服务:

    # service NetworkManager stop

打开路由转换:

  将文件/proc/sys/net/ipv4/ip_forword文件改为1,处于开启状态

        # echo  1 > /proc/sys/net/ipv4/ip_forword

设置R2端口eth0:

#  vim  /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
IPADDR=172.30.0.1
PREFIX=16

保存退出

设置R2端口eth1:

# vim  /etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1
IPADDR=10.10.0.2
PREFIX=8

保存退出

重启网络服务:

# service network restart

添加路由表:

# route add -net 192.168.60.0/24  gw 10.10.0.1 dev eth1

清空防火墙列表:

# iptables -F

R2详细信息:

wKioL1fNN8mQysmxAABEg6Qh8Dg028.png

wKiom1fNN8mjYORyAAAcQl5j-fw082.png

客户机1:

wKioL1fNN-rxJ5zrAAAQJQDWD9E410.png

客户机2:

wKiom1fNN_fQHAvrAAAVzJA5MAg004.png

现在即可实现客户机1与客户机2之间的相互访问

wKiom1fNOA6ycH9yAAAVHPd6mNs435.png

由于,跨越了两个路由,所以ttl为64-2,为ttl=62。

原创文章,作者:Groot,如若转载,请注明出处:http://www.178linux.com/43793

(0)
GrootGroot
上一篇 2016-09-06 08:50
下一篇 2016-09-06 08:50

相关推荐

  • 网络班N22期第七周博客作业

    1、创建一个10G分区,并格式为ext4文件系统;    (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;     [root@bogon ~]# fdisk /dev/sde   &nb…

    Linux干货 2016-10-17
  • keepalived+nginx 模型示例

    原理为: 调度器 利用 keepalived 保持高可用性,实现对系统的监控和VIP 的floating NGINX 利用upstream模块进行调度 关键点: keepalived 对NGINX 状态的监控: //利用配置文件中设定的脚本对调度器的nginx 进程的监控 实验步骤: 基于上一篇LVS-DR架构来做,具体LVS-DR架构请参考上一篇 先设置主…

    2017-05-13
  • MAN手册各章节功能及快捷键

    前言: man是manual的简称,中文说法可以是手册。而man手册分为不同的各个章节,每个章节保存这不通类型的手册。 各个章节功能:    Section 名称      说明 1 用户命令 可由任何人启动的 2 系统调用 即由内核提供的函数 3 例程   …

    Linux干货 2016-10-17
  • 第四周作业2

    #### 1、 复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 首先,利用cp命令将/etc/skel目录复制为/home/tuser1: “` [root@localhost ~]# cp -r /etc/skel /home/tuser1 “` 随…

    Linux干货 2018-03-24
  • 【社招】【小米-北京】运维开发工程师

    【社招】【小米-北京】运维开发工程师 【工作地点】北京市海淀区安宁庄东路72号科利源大厦 【薪酬福利】15k-30k 期权奖励、六险一金、水果花茶、班车、健身房、食堂 【投递方式】邮件主题“岗位+姓名”发送至lipengcheng3@xiaomi.com   岗位职责: 提高系统运维的自动化,主要包括运维平台、PaaS、监控系统,自动化部…

    Linux干货 2017-07-28
  • 虚拟化介绍、以及kvm

    什么是虚拟化? 在计算机领域中虚拟化,和我们平时说的虚拟化并没有什么两样,说白了就是一个虚拟出来的东西罢了,并不是真实存在的。 虚拟化的历史 虚拟化早在20实际60年代末,由IBM开发被命名为vmm(Virtual Machine Monitor)虚拟机监视器的软件,我们知道那时候工艺技术并不发达,电脑也不像现在这样属于每家每户的标配,IBM为了解决电脑使用…

    2017-03-08