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

相关推荐

  • 马哥教育网络班19期+第七周课程练习

    1、创建一个10G分区,并格式为ext4文件系统;   (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;         mke2fs -b 2048 -m 2 -L 'MYDATA' -o defau…

    Linux干货 2016-06-21
  • 详解LAMP源码编译安装

    详解LAMP源码编译安装 LAMP简介 LAMP是当下非常流行的一套Web架构,我们可以在GNU/Linux下通过其他人打包的程序包来进行安装; 但是在生产环境中,很多时候都需要我们自己定制安装AMP,编译安装LAMP有以下几个优点 根据生产环境灵活定制程序 优化编译参数,提高性能 解决不必要的软件依赖 一、准备工作 卸载yum或rpm安…

    Linux干货 2016-10-16
  • 内置数据结构,列表及其方法

    List:列表有若干个元素,元素可以是任意对象,元素有顺序,可以使用索引和迭代,使用线性结构,使用[ ]进行描述,在内存中的空间是连续的,每个元素在内存中的空间是一样的………列表是可变的,列表不能一开始就定义大小,列表索引不可以超界   列表索引l.index(),从左向右搜索,发现第一个匹配的,自动返回搜索的值的索引;匹配不到,抛出异常Value…

    Linux干货 2018-03-25
  • 第六次上课作业

    1、三种权限rwx对文件和目录的不同意义 对文件 r:read  可读取此文件的实际内容,如读取文本文件的文字内容等 w: write  可以编辑,新增或修改该文件的内容 x:execute  该文件具有可以被系统执行的权限==>>针对二进制文件或脚本 X:针对目录会加上x权限…

    Linux干货 2016-08-04
  • old notes

    yum update: update software guest edition ***: how to install guest edition: 1) need to root: su – 2) yum install kernel-devel 3)yum install gcc* ( when don't remember n…

    Linux干货 2016-09-19
  • 马哥教育网络班20期+第5周课程练习

    1、显示/boot/grub/grub.conf中至少一个空白字符开头的行 [root@localhost ~]# grep "^[[:space:]]\+.*" /boot/grub2/grub.cfg 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行; [root@…

    Linux干货 2016-08-15