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

相关推荐

  • 练习-vim的使用

    vi编辑器是linux上最常用的编辑器,vim是vi增强版, 一、vim的几种模式     编辑模式、插入模式、命令行模式     编辑模式:可以进行光标移动,字符删除,行的增删复制粘贴等操作  插入模式:对字符进行编辑,  命令行模式:通过各种命令进行保存,查找,替换,环境设置等操作 &…

    Linux干货 2016-07-04
  • 8-1作业

    1、创建testuser uid 1234,主组:bin,辅助组:root,ftp,shell:/bin/csh home:/testdir/testuser [root@localhost ~]# useradd -u 1234 -g bin -G root,ftp …

    Linux干货 2016-08-03
  • gitlab-ce并发超过30引起ip被封1小时的问题

    系统环境描述 System information System:     Ubuntu 14.04 Current User:   git Using RVM:  no Ruby Version: …

    Linux干货 2015-09-06
  • 关于HISTCONTROL命令及对快捷键Ctrl+o命令的影响

            在linux中环境变量HISTCONTROL可以控制历史的记录方式。         HISTCONTROL有以下的选项:         &n…

    Linux干货 2017-02-18
  • 简单的启动排错

    一、出现 grub> 字样,等待交互式输入指令,说明MBR中Bootloader的stage1、stage1_5、stage2都正常,但丢失了/boot/grub.conf 文件,所以无法加载启动项菜单,就无法读取默认启动的kernel、initrd等文件路径。 解决办法:无需救援模式,直接在此交互式界面指定相关文件的加载路径。 (1) grub&gt…

    Linux干货 2016-11-26
  • Ansible Conditionals & Loops

     一、条件语句     条件判断语句,就是根据某些变量的值来控制Ansible的执行流程。控制某些主机执行某些操作与不执行某些操作。根据某些操作结果,判断是否执行其它操作等等。     Ansible的条件判断语句只有 when 语句,结合变量使用才能显示出它的价值。when的用…

    Linux干货 2015-11-21