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
下一篇 2016-09-06

相关推荐

  • MongoDB

    Edit MongoDB 手册 MongoDB 手册 第一章 Introduction MongoDB入门学习目录(建议) Databases Collections Documents 第二章 部署安装 1. Import the MongoDB public key 2. Configure the package management system (…

    Linux干货 2015-01-12
  • 初学Linux文件目录结构

    /:根目录 /bin(binary):放置的是二进制文件。可执行的命令;非管理类的命令,通常是系统启动就需要的文件,供所有用户使用的基本命令;不能关联至独立分区, OS启动即会用到的程序。 /sbin:管理类的命令,通常只有管理员可以使用。 /lib:存放的是系统级别的库文件 /lib64:专用于x86_64系统上的辅助共享库文件存放位置  /ro…

    Linux干货 2017-07-13
  • shell脚本编程2

    shell脚本编程2   今天继续学习了shell脚本编程,续之前写的脚本编程1。上次主要学了编程的基础,脚本格式,变量类型及变量的使用,条件测试,数字运算并且进行了部分练习,因为这部分逻辑思维能力要求不是很高,因此记忆起来难度不是特别大。   从今天开始便进入了流程控制以及函数、数组、高级字符串操作、高级变量等内容的学习,总体来说难度和…

    Linux干货 2016-08-16
  • 文本处理工具基础应用

                                                      &nbsp…

    Linux干货 2016-08-07
  • Linux GRUB legacy

    Linux GRUB Linux GRUB Linux GRUB 单用户模式(密码破解) 救援模式 实例 GRUB菜单 GRUB命令行接口 GRUB简介 GRUB 菜单组成 GRUB配置文件 GRUB安装及修复 GRUB单用户及救援模式 GRUB简介 了解grub之前,需要理解linux的启动流程,如果之前有对linux启动流程不了解的可以看:http://…

    Linux干货 2016-04-25
  • 管理systemd

    管理systemd init(系统的第一个进程): CentOS 5: SysV initCentOS 6: UpstartCentOS 7: Systemd Systemd:系统启动和服务器守护进程管理器,负责在系统启动或运行时,激活系统资源,服务器进程和其它进程 Systemd新特性: 系统引导时实现服务并行启动 按需启动守护进程 系统状态快照 自动化的…

    Linux干货 2016-09-22