网络管理

网络功能都在内核当中

1.1 网络接口的命令的方式

早期的内核是通过网络的mac地址来命名的,centos5,6都是用eth开头,如果主机上原本有一个网卡被内核命名为eth0,结果这个网卡坏了拿下来之后在原本的地方又放了一个新的网卡,那么他还是eth0吗?不是,很有可能被内核识别成为eth1,因为内核是通过网卡的mac地址来识别网卡的。centos7改了命名方式,这种方式根据插槽来命名,也就是说在一个插槽上的任意网卡都是一个名字。

1.2 ifcfg家族

ifconfig

ifconfig 仅显示本机活动接口的地址
ifconfig -a显示本机活动与不活动的接口的地址
ifconfig eth0 显示eth0的属性信息
ifconfig eth0 192.168.80.6/24 配置ip和掩码
ifconfig eth0 {up|down} 网卡打开关闭

混杂模式:

ifconfig promisc启用混杂模式,不是给自己的数据包也会留下

ifconfig –promisc 关闭混杂模式,只接收给自己的数据包

route

路由管理命令

route add default gw 192.168.80.1         添加默认路由
route add -net 0.0.0.0/24 gw 192.168.80.1 dev ens33  添加默认路由
route add -host 192.168.1.3 gw 192.168.80.1 dev ens33 添加主机路由
[root@localhost ~]# route -n
Destination   Gateway     Genmask     Flags Metric Ref  Use Iface
0.0.0.0     192.168.80.1  0.0.0.0     UG  0   0    0 ens33
192.168.1.3   192.168.80.1  255.255.255.255 UGH  0   0    0 ens33

U代表up开户状态

G代表这是个路由条目

H这是一个主机路由

route add -net 192.168.10.0/24 gw 192.168.80.1 dev ens33  添加网络路由
[root@localhost ~]# route -n
Destination   Gateway     Genmask     Flags Metric Ref  Use Iface
192.168.10.0  192.168.80.1  255.255.255.0  UG  0   0    0 ens33

route del -host 192.168.1.3  删除主机路由
route add -net 192.168.50.0/24 gw 192.168.80.1 dev ens33  删除网络路由
route del -net 0.0.0.0 gw 192.168.80.1 netmask 255.255.255.0  删除默认路由

默认网关如果有两个,后面那个是不会有作用的。

1.1.1.3 DNS

[root@localhost ~]# echo "nameserver 223.6.6.6">/etc/resolv.conf

当配置完成DNS之后我们进行测试,测试的命令有两种:

FQDN(安全限定域名)--->ip这种方式叫正解,所谓的完全限定域名就是像. www是主机名,baidu是域名。把ip解析成完全限定域名的方式叫反解。测试的命令有两种:

dig  –t  A [www.baidu.com](http://www.baidu.com)   #解析出百度的IP
dig –x 223.6.6.6       #通过此ip地址解析出完全限定域名
host  –t  A [www.baidu.com](http://www.baidu.com)     #解析出百度的IP
host –t  PTR 223.6.6.6         #通过此ip地址解析出完全限定域名

netstat

  • l -t :显示tcp协议相关
  • l -u:显示udp协议相关
  • l -w:raw socket裸套节字相关,裸套节字就能通过程序不经过传输层直接使用IP地址
  • l -l:处于监听的状态
  • l -a:所有状态
  • l -n:以数字显示ip和端口
  • l -e:扩展格式
  • l -p:显示相关进程及PID

常用的组合:

  • l -tan以数字显示与tcp相关的所有状态
  • l -tnl以数字显示与tcp相关处于监听状态的端口
  • l -tnlp:这个最应该记下来

ping

l 我们通过 ping 查看一下往返时间,在局域网当中如果超过 10 毫秒的话就不正常了。

  • l -c # 指定发包的次数
  • l -s # 指定 ping 包的大小,默认 64 个字节
  • l -t # 指定 TTL 值
  • l -i # 指定等待几秒发一个 ping 包
  • l -w # 指定 ping 命令执行多长秒结束

测试通过的每一个路由器和测试对方的什么操作系统

traceroute

跟踪数据包,查看沿途过了哪些路由器,常用于排错 不通的地方使用标识,traceroute 如果通过 NAT 的时候会出现号 使用的时候直接使用 traceroute 后面加上要跟踪的 IP 地址即可 。

nslookup

测试 DNS 是否正常,测试 DNS 是否能解析域名也可以直接使用 ping,看看能不能解析出域名,有的服务器不允许 ping,这没有关系,我们要看的是第一行,看看有没有解析出域名即可。 nslookup 是专门用来测试 NDS 的,后面直接跟上域名即可。

nslookup www.baidu.com 

永久修改路由

如果有多块网卡的话根据需要创建多个路由配置文件,路由配置文件默认是没有的,所

以要进行创建,创建只能在/etc/sysconfig/network-scripts/这个目录里面创建一个 route-<网卡>的文件。如果我们只能一个网卡的话一般就是 eth0,就可以创建:/etc/sysconfig/network-scripts/route-eth0 文件,如下:

vim /etc/sysconfig/network-scripts/route-eth0 
0.0.0.0/0       via 192.168.80.1 默认路由 via 是下一跳 
192.168.100.0/24 via 192.168.80.1 网络路由 
192.168.200.2/32    via 192.168.80.1 主机路由 

note:同样的,也需要进行网络服务重启才能生效,如果配置路由之前没有在网卡的配置文件当中配置 ip 地址等信息的话,即使在这里设置了路由也不会生效的,想想也很简单嘛!没有 ip 地址怎么能配置网关呢?

给网卡绑定多个 ip 地址

使用场景,一个服务器上有多个公司网站,想使用多个 ip 分别访问。就是使用子接口嘛!与路由器差不多,网络地址不一样,mac 地址是一样的,在网络服务重启之后通过命令添加的子接口失效,但我们可以配置文件让其永久不失效。 比如原来有个网卡 eth0,那么加一个子接口就是 eth0:# #号从 0 开始,举个例子:

l 临时给网卡添加多个IP

ifconfig eth0:0 192.168.80.7/24 在 eth0 上加一个新的 ip 地址 
ifconfig eth0:0 down 关闭这个子接口,up 之后也失效了,物理接口并不会

l 永久给网卡添加多个IP

永久给网卡添加多个 ip 地址,把物理网卡的配置文件 cp 一份做为子接口的配置文件,然后在子接口的配置文件里面把:设备名修改成子接口的名字、IP 修改、子网掩码一定要有,然后重启网卡即可。

cd /etc/sysconfig/network-scripts/ 
cp ifcfg-eth0 ifcfg –eth0:0  #不要忘记修改这个网络配置文件+4
vim ifcfg-eth0:0 
service network restart 

绑定 mac 地址和 ip 地址

防止 arp 欺骗的重要手段 arp –a 查看缓存的 mac 地址 arp –s 192.168.80.1 ##:##:##:##绑定 mac 地址,重启无效

cat /proc/net/arp 
arp –d 192.168.80.1 删除绑定的 mac 地址 
永久绑定  
vim /etc/ethers 
192.168.80.66 ##:##:##:##  

重启之后依然有效

IP家族

link

子命令:

show: ip link show {dev eth0 | up | down} #查看eth0接口地址,开启的接口,关闭的接口

set :ip link set {up | down} dev eth0 #关闭或者开户eth0接口

 [root@LAMP ~]# ip link set down dev eth0  #除了down当然还有up

网络管理_生活

网络管理_生活_02

addr

ip addr {add|del|show}

#ip addr的使用格式,如果有地址默认是追加,而不是覆盖

网络管理_生活_03

网络管理_生活_04

[root@LAMP ~]# ip addr del 192.168.80.10/24 dev eth0 label 'eth0:0'
linux的地址其实是配置在内核当中的

[root@LAMP ~]# ip addr add 192.168.80.100/24 dev eth0 label 'eth0:1'
[root@LAMP ~]# ip addr flush dev eth0 label eth0:1

route

[root@LAMP ~]# ip route add 0.0.0.0/0 via 192.168.80.1 dev eth0  #添加默认路由
[root@LAMP ~]# ip route add default via 192.168.80.1   #添加默认路由
[root@LAMP ~]# ip route add 192.168.90.0/24 via 192.168.80.1 dev eth0  #添加网络路由
[root@LAMP ~]# ip route add 192.168.100.1 via 192.168.80.1 dev eth0  #添加主机路

[root@LAMP ~]# ip route flush 0.0.0.0/0 via 192.168.80.1  #删除默认路由
[root@LAMP ~]# ip route flush default via 192.168.80.1  #删除默认路由
[root@LAMP ~]# ip route flush 192.168.1.1  #删除主机路由
[root@LAMP ~]# ip route flush 192.168.200.0 #删除主机路由

[root@LAMP ~]# ip route show
[root@LAMP ~]# ip route flush dev eth0

ss

 ss -tan state ESTABLISHED

检查套接字的工具

网络管理_生活_05

网卡命名

网络管理_生活_06
网络管理_生活_07