首页 > 代码库 > 网络基础学习笔记
网络基础学习笔记
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
网络基础学习笔记