首页 > 代码库 > 网络基础学习笔记

网络基础学习笔记

OSI,TCP/IP

tcp/ip分层:

application layer

transport layer

internet layer

datalink layer

pysical layer

传输层协议:

tcp,udp,sctp

网络层协议:

ip

ip协议:

IPv4 地址分类:

点分十进制:0-255

0000 0000 - 1111 1111

0.0.0.0-255.255.255.255

A类:

   0 000 0000 - 0 111 1111: 1-127

   网络数:126, 127

   每个网络中的主机数:2^24-2

   默认子网掩码:255.0.0.0

   私网地址:10.0.0.0/8

B类:

   10 00 0000 - 10 11 1111:128-191

   网络数:2^14

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

   默认子网掩码:255.255.0.0

   私网地址:172.16.0.0/16-172.31.0.0/16

C类:

   110 0 0000 - 110 1 1111: 192-223

   网络数:2^21

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

   默认子网掩码:255.255.255.0

   私网地址:192.168.0.0/24-192.168.255.0/24

D类:主要用于组播

   1110 0000 - 1110 1111: 224-239

E类:

    240-255

子网掩码的表示形式:

   172.16.100.100/255.255.0.0,172.17.1.1

子网掩码的作用:

   区分网络上的主机是否处于同一子网络中。

28分钟

将Linux主机接入到网络中

IP/mask

路由:默认网关

DNS服务器

主DNS服务器

次DNS服务器

第三DNS服务器

配置方式:

静态指定:

ifcfg:ifconfig,route

ip:link,addr,route

配置文件

system-config-network-tui(setup)

Centos 7:

nmcli,nmtui

动态分配:

DHCP:Dynamic Host Configuration Protocol

配置网络接口:

接口命名方式:

Centos 6:

以太网:eth[0,1,2...]

ppp:ppp[0,1,2...]

ifconfig命令:

ifconfig [interface]

# ifconfig -a

# ifconfig IFACE [up|dwon]

ifconfig interface [aftype] options | address ...

# ifconfig IFACE IP/mask [up]     例:ifconfig eth0 10.3.20.36/24

# ifconfig IFACE ip netmask MASK  例:ifconfig eth0 10.3.20.36 network 255.255.255.0

注意:立即生效;

启用混杂模式:[-]promisc

route命令

路由管理命令

查看:route -n

添加:route add

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

目标:192.168.1.3 网关:172.16.0.1

~]# route add -host 192.168.1.3 gw 172.16.0.1 dev eth0

目标:192.168.0.0 网关:172.16.0.1

~]# route add -net 192.168.0.0 netmak 255.255.255.0 gw 172.16.0.1 dev eth0

~]# route add -net 192.168.0.0/24 gw 172.16.0.1 dev eth0    直接IP后跟/24也可以

默认路由,网关:172.16.0.1

~]# 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

DNS服务器指定:

/etc/resolv.conf

nameserver DNS_SERVER_IP1

nameserver DNS_SERVER_IP2

nameserver DNS_SERVER_IP3

正解:FQDN-->IP

# dig -t A FQDN

# host -t A FQDN

反解:IP-->FQDN

# dig -x IP

# host -t PTR IP

FQDN:www.mageedu.com

----------------------------------------

如果提示没有dig命令,需安装bind-utils:

[root@C7-1 ~]# dig -t A www.baidu.com

-bash: dig: 未找到命令

yum -y install bind-utils       dig命令安装

netstat命令:

netstat - Print network connections, routing tables, interface statistics, masquerade con‐nections, and multicast memberships

显示网络连接:

netstat [--tcp|-t] [--udp|-u] [--udplite|-U]  [--raw|-w]  [--lis‐tening|-l] [--all|-a] [--numeric|-n] [--numeric-hosts] [--numeric-ports] [--numeric-users] [--extend|-e[--extend|-e]][--program|-p] [--continuous|-c] [delay]

-t:tcp协议相关

-u:udp协议相关

-r:raw socket相关

-l:处于监听状态

-a:所有状态

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

-e:扩展格式

-p:显示相关进程及PID

常用组合:  85分钟

-tan,-uan,-tnl,-unl,-tnlp

显示路由表:

netstat  {--route|-r} [--numeric|-n]

-r:显示内核路由表

-n:数字格式

显示接口统计数据:

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

# netstat -i

# netstat -I IFACE    例:~]# netstat -Ieth0

总结:ifcfg家庭命令配置

ifconfig/route/netstat

ifup/ifdown

视频35

Linux网络配置(2)

[root@rsync01 ~]# rpm -qf `which ip`         用此命令查看IP是哪个程序包提供的

iproute-2.6.32-31.el6.x86_64

配置Linux网络属性:ip命令

ip命令:

ip - show / manipulate routing, devices, policy routing and tunnels

ip [ OPTIONS ] OBJECT { COMMAND | help }

link OBJECT:

ip link - network device configuration

set

dev IFACE

可设置属性:        ~]# ip link set dev eth0 down关闭网卡

up and down:   ~]# ip link set dev eth0 up启用网卡

show

[dev IFACE]:指定接口     例:~]# ip link show dev eth0

[up]:仅显示处于激活状态的接口

ip address - protocol address management

ip addr { add | del } IFADDR dev STRING

[label LABEL]:添加地址时指明网卡别名

[scope {global|link|host}]:指明作用域

global:全避可用;

link:仅链接可用;

host:本机可用;

[broadcast ADDRESS]:指明广播地址

ip address show - look at protocol addresses

[dev DEVICE]

[label PATTERN]

[primary and secondary]

ip address flush - flush protocol addresses

使用格式同show

ip route - routing table management

ip route add

添加路由:ip route add TARGET via GW dev IFACE src SOURCE_IP

TARGET:

主机路由:IP

网络路由:NETMASK/MASK

添加网关:ip route add defalt via GW dev IFACE

ip route delete

删除路由:ip route del TARGET

ip route show

ip route flush

[dev IFACE]

[via PREFIX]

ss命令:48分钟

格式:ss [OPTION]... [FILTER]

选项:

-t:tcp协议相关

-u:udp协议相关

-w:裸套接字相关

-x:unix sock相关

-l:listen

-a:所有

-n:数字格式

-p:相关的程序及PID

-e:扩展的信息

-m:内存用量

-o:计时器信息

FILTER := [ state TCP-STATE ] [ EXPRESSION ]   55分钟

TCP的常见状态:

tcp finite state machine:

LINSTEN:监听

ESTABLISHED:已建立的连接   ~]# ss -tan state ESTABLISHED只查看EST..状态

ESTABLISHED:

dport =

sport =

示例:‘(  dport = :ssh or sport :ssh )‘

显示所有状态为established的ssh连接

    # ss -o state established ‘( dport = :ssh or sport = :ssh )‘

常用组合:-tan,-tanl,-tanlp,uan

Linux网络配置(3):修改配置文件   70分钟

IP、MASK、GW、DNS相关配置文件:/etc/sysconfig/network-scripts/ifcfg-IFACE

路由相关的配置文件:/etc/sysconfig/network-scripts/route-IFACE

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

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

HWADDR:对应用的设备的MAC地址

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

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

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

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

UUID:设备的唯一标识;

IPADDR:指明IP地址;

NETMASK:子网掩码;

GATEWAY:默认网关;

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

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

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

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

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

两种风格:

(1)TARGET via GW

(2)每三行定义一条路由       84分钟

ADDRESS#=TARGET

NETMASK#=mask  

GATEWAY#=GW

给网卡配置多地址:

ifconfig

ifconfig IFACE_ALIAS

ip

ip addr add

配置文件:

ifcfg-IFACE_ALIAS

DEVICE=IFACE_ALIAS

注意:网关别名不能使用dhcp协议引导;

Linux网络属性配置的tui(text user interface):

system-config-network-tui

也可以使用setup找到;

注意:记得重启网络服务方能生效;

配置当前主机的主机名:

hostname [HOSTNAME]

/etc/sysconfig/network

HOSTNAME=

网络接口识别并命令相关的udev配置文件:98分钟

/etc/udev/rules.d/70-persistent-net.rules       lsmod | grep "^e"查看网卡类型

卸载网卡驱动:                    

modprobe -r e1000

装载网卡驱动:

modprobe e1000

注:vm克隆时网卡会不能用,把70-persistent-net.rules里面的eth0改成1,重启网卡即可。Centos7没问题,因为命令方式是enoxxxxx的

C6安装图形管理IP工具:

yum install setuptool

yum install -y ntsysv

yum install -y system-config-network-tui

yum install -y system-config-securitylevel-tui

视频36开始

CentOS 7网络属性配置

传统命名:以太网eth[0,1,2,...]

可预测功能

udev支持多种不同的命名方案:

CentOS 7添加多个IP

[root@c7 ~]# nmcli connection modify eno16777736 +ipv4.addresses 192.168.2.60/24 添加IP

[root@c7 ~]# nmcli con down eno16777736;nmcli con up eno16777736                         重启

[root@c7 ~]# nmcli con modify eno16777736 -ipv4.addresses 192.168.2.60/24               删除IP

[root@c7 ~]# nmcli con down eno16777736;nmcli con up eno16777736                         重启

[root@c7 ~]# nmcli dev show eno16777736                                                                      查看


本文出自 “赵东伟的博客” 博客,请务必保留此出处http://zhaodongwei.blog.51cto.com/4233742/1881030

网络基础学习笔记