linux网络配置

主要内容:

ip地址以及子网划分

路由基本概念

网络配置工具:ifconfig,ip,netstat使用

网卡配置文件及修改


IP地址:

它们可唯一标识 IP 网络中的每台设备 v 

每台主机(计算机、网络设备、外围设备)必须具有唯 一的地址 v

IP地址由两部分组成

  网络ID: 标识网络,每个网段分配一个网络ID 

  主机 ID:标识单个主机由组织分配给各设备

A类地址:

0开头,子网掩码/8  也可表示为255.0.0.0

所以网络数为:2^(8-1)  因为第一位被0占用了

网络中主机数为:2^24-2

私网地址为:10.0.0.0

 

B类地址:

10开头,子网掩码为/16 255.255.0.0

网络数为:2^(16-2) 2位被占用了

网络中的主机数为:2^16-2

私网地址为:172.16.0.0-172.31.0.0

 

C类地址:

110开头,子网掩码为/24 255.255.255.0

网络数为:2^(24-3) 3位被占了

网络中的主机数为:2^8-2

私网地址:192.168.0.0-192.168.255.0

 

D类地址:组播

1110开头,从224-239

 

ip地址子网划分步骤:例如划分100.123.211.22/16划出8个子网。

先用ip地址与子网掩码进行与运算

01100100  01111011   00000000 00000000

11111111   1111 1111  00000000  00000000

再根据要求,划分8个子网即2^3,所以向主机位借3位。

0110 0100  0111 1011  000 00000 00000000

写出子网

0110 0100  0111 1011  001 00000 00000000

0110 0100  0111 1011  010 00000 00000000

0110 0100  0111 1011  011 00000 00000000

0110 0100  0111 1011  100 00000 00000000

0110 0100  0111 1011  101 00000 00000000

0110 0100  0111 1011  110 00000 00000000

0110 0100  0111 1011  111 00000 00000000

0110 0100  0111 1011  000 00000 00000000

转换成10进制为:

100.123.0.0  100.123.32.0  100.123.64.0  100.123.96.0  100.123.128.0

100.123.160.0  100.123.192.0  100.123.224.0

 

路由的几个基本概念:

动态路由:路由选择器自动共享路由信息,根据路由协议自动构建路由表

静态路由:手动构建路由表

 

直接路由:发往直接路由的设备不仅包含目的ip地址信息,还包含目的路由设备的mac地址

间接路由:发往路由设备的信息中包含最终的ip地址信息,同时包含下一个网关的mac地址

 

主机路由/网络路由:两者根据目的地址完整度区分,主机路由的目的地址包含的是完整的主机地址信息,网络路由目的地址包含的是网络地址,主机部分为0

 

 

简单网络配置:

主机名:

查看主机名:hostnamecat /etc/hostname

修改:vim /etc/hostname

      hostnamectl set-hostname xxx

 

ifcfg系列:ifconfig netstat route

 

ifconfig: 显示网卡信息

用法 ifconfig [device] 

     ifconfig interface [aftype] options | address …

     显示网卡信息

    -a:查看所有网卡信息

ifconfig 网卡名 up|down 开启|关闭网卡

ifconfig eth0 10.1.110.110/16 up

ifconfig eth0 10.1.111.111 netmask 255.255.0.0

01.png

注意:修改网卡的ip地址会立即生效,但是重启后会失效

 

route命令:路由管理命令

查看路由:route -n

添加 route add

 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 

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

注意:添加的网关必须能够ping通,而且添加的ip也必须是可以ping通的

删除:route del 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

 

netstat

-t: tcp协议相关 

-u: udp协议相关 

-w: raw socket相关

-l: 处于监听状态 

-a: 所有状态 

-n: 以数字显示IP和端口;

-e:扩展格式 

-p: 显示相关进程及PID

 

显示路由表:

netstat -r:显示内核路由表

02.png

显示接口统计数据: 

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

# netstat -i 显示网卡统计信息 

# netstat I=IFACE 显示某块网卡统计信息

# ifconfig -s eno16777736 

 

ip命令:配置linux网络属性

参数:

option :设定的参数,主要有:

     -s :显示出该设备的统计数据(statistics),例如总接受封包数等;

  作用对象:就是是可以针对哪些网络参数进行动作,包括有:

       link :关于设备 (device) 的相关设定,包括 MTU, MAC 地址等等

       addr/address :关于额外的 IP 设定,例如多 IP 的实现等等;

       route :与路由有关的相关设定 

 

ip link 与数据链路层有关

ip link 可以设定与设备 (device) 有关的相关设定,包括 MTU 以及该网络设备的 MAC 等等, 当然也可以启动 (up) 或关闭 (down) 某个网络设备。整个语法是这样的:

[root@linux ~]# ip [-s] link show <== 单纯的查阅该设备相关的信息

[root@linux ~]# ip link set [device] [动作与参数]

参数:

show:仅显示出这个设备的相关内容,如果加上 -s 会显示更多统计数据;

set :可以开始设定项目, device 指的是 eth0, eth1 等等设备代号;

动作与参数:包括以下动作:

up|down:启动 (up) 或关闭 (down) 某个设备,其他参数使用预设的以太网参数;

address:如果这个设备可以更改 MAC ,用这个参数修改;

 name:给予这个设备一个特殊的名字;

 mtu:设置最大传输单元。

 

 

显示设备信息:

ip link show

ip -s link show eth0 

03.png

04.png

启动或者关闭设备:

[root@linux ~]# ip link set eth0 up

启动eth0这个设备; 

[root@linux ~]# ip link set eth0 down

关闭eth0这个设备; 

[root@linux ~]# ip link set eth0 mtu 1000

更新网卡的 MTU 使用 ifconfig 也可以实。如果是要更改『网卡代号、 MAC 地址的信息』的话,那可就得使用 ip了,设定前需要先关闭该网卡,否则会不成功。

[root@linux ~]# ip link set eth0 down       <==关闭设备

[root@linux ~]# ip link set eth0 name vbird <==重新设定

[root@linux ~]# ip link show                <==查看信息

 

ip addr:与网络层有关,设定与ip有关的各项参数

ip addr show:查看ip信息 等价于ip addr

 ip address [add|del] [IP参数] [dev 设备名] [相关参数]

参数:

show  :单纯的显示出设备的 IP 信息;

add|del :进行相关参数的增加 (add) 或删除 (del) 设定,主要有:

IP 参数 :主要就是网域的设定,例如 192.168.100.100/24 之类的设定;

dev :这个 IP 参数所要设定的设备,例如 eth0, eth1 等等;

 相关参数:如下所示:

        broadcast:设定广播位址,如果设定值是 表示让系统自动计算;

        label    :该设备的别名,例如eth0:0

        scope    :这个设备的领域,通常是以下几个大类:

                   global :允许来自所有来源的连线;

                   site   :仅支持IPv6 ,仅允许本主机的连接;

                   link   :仅允许本设备自我连接;

                   host   :仅允许本主机内部的连接;

                   所以当然是使用 global 了。预设也是 global

通过ip addr add 配合label使用可以模拟多块网卡

ip route:关于路由的设定,与route用法相似

[root@linux ~]# ip route show <==单纯的显示出路由的设定

[root@linux ~]# ip route [add|del] [IP或网域] [via gateway] [dev 设备]

参数:

show :单纯的显示出路由表,也可以使用 list 

add|del :增加 (add) 或删除 (del) 路由;

    IP或网域:可使用 192.168.50.0/24 之类的网域或者是单纯的 IP 

    via     :从那个 gateway 出去,不一定需要;

    dev     :由那个设备连出去,需要;

mtu     :可以额外的设定 MTU 的数值;

 

 网络配置文件:

IPMASKGWDNS相关配置文件:

 /etc/sysconfig/network-scripts/ifcfg-IFACE v

 路由相关的配置文件:

/etc/sysconfig/network-scripts/route-IFACE v/etc/sysconfig/network-scripts/ifcfg-IFACE

 

配置文件详解:

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

HWADDR:对应的设备的MAC地址 

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

NM_CONTROLLEDNMNetworkManager的简写, 此网卡是否接受NM控制;建议CentOS6为“no

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

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

UUID:设备的惟一标识 v

IPADDR:指明IP地址 v

NETMASK:子网掩码 v

GATEWAY: 默认网关 v

DNS1:第一个DNS服务器指向 v

DNS2:第二个DNS服务器指向 v

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

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

 

配置文件修改后,需要systemctl restart network———-

每三行定义一条路由 

ADDRESS#=TARGET 

NETMASK#=mask 

GATEWAY#=GW

 

Bond配置:

1创建bond0配置文件

vim ifcfg-bond0

DEVICE=bond0

BOOTPROTO=none

IPADDR=10.1.100.100

PREFIX=16

BONGDING_OPTS=miimon=100 mode=1

 

2创建几块网卡配置文件

vim ifcfg-eth0

DEVICE=eth0

MASTER=bond0

SLAVE=yes

systemctl restart network

ifconfig查看

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

 

删除bond0

ifconfig bond0 down

rmmod bonding

lsmod|grep bonding查看绑定模块

 

 

 

nmcli用法:

nmcli [ OPTIONS ] OBJECT { COMMAND | help } 

device – show and manage network interfaces 

nmcli device help 

connection – start, stop, and manage network connections 

nmcli connection help 

修改IP地址等属性: 

#nmcli connection modify IFACE [+|-]setting.property value 

setting.property: 

ipv4.addresses    ipv4.gateway

 ipv4.dns1   ipv4.method  manual | dhcp 

修改配置文件执行生效:

systemctl restart network 

nmcli con reload 

nmcli命令生效: nmcli con down eth0 ;nmcli con up eth0

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

(0)
liuzhuoliuzhuo
上一篇 2016-09-07
下一篇 2016-09-07

相关推荐

  • linux程序包管理

    对第五周学习的内容进行总结

    2018-01-01
  • 【原创】Tengine+LUA+Nginx-GridFS+jemalloc编译安装

    操作系统 ubuntu 14.04 LTS Nginx-GridFS为nginx直接访问mongoDB的扩展模块,目前只支持到mongodb2.6.12 mongodb安装请自己百度 #安装依赖包保平安 apt-get install root-system-bin autoconf automake gcc c++ libgeoip-devlibxml++…

    Linux干货 2016-11-30
  • 进程管理

    1、ps命令 查看当前时刻的进程状态,通过此命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等 进程状态:     运行态:running     就绪态:ready     睡眠态: &…

    Linux干货 2016-09-10
  • N25-第7周博客作业

    N25-第7周博客作业 1、创建一个10G分区,并格式为ext4文件系统;        (1) 要求其block大小为2048, 预留空间百分比为2,   卷标为MYDATA, 默认挂载属性包含acl;        (2)   挂载至/data/mydat…

    Linux干货 2017-01-21
  • shell-语句总结

    shell脚本语法总结 过程式编程语言: 顺序执行 选择执行 循环执行 shell默认是顺序执行,如果有判断或循环语句则执行判断或循环。 条件判断 if     单分支         if 判断条件:then  &nb…

    Linux干货 2016-08-21
  • grep与基本正则表达式基本用法

    正则表达式:Regual Expression  REGEXP      由一类特殊字符及文本字符所编写的模式,其中有些字符不表示其字母意义,而是用于表示控制或通配的功能;       分两类:             &nbsp…

    Linux干货 2016-11-03