网络配置

IP地址计算
  1.一个网段中主机数 = 2^主机ID数 - 2
  2.网段数 = 2^可变的网络ID位
  3.网络ID = IP与子网掩码
  4.划分子网数量 = 2^网络ID向主机ID借位的位数

 

子网掩码计算
  IP地址: 10.0.0.2    00001010.00000000.00000000.00000001 进行与运算
  子网掩码:255.0.0.0       11111111.00000000.00000000.00000000
  网络ID:       00001010.00000000.00000000.00000000
              10.     0.     0.     0

 

CIDR:无类域间路由,网络ID位不按整数8位划分,按需划分
  CIDR表示法,IP/网络ID数

  IP地址:210.222.123.20/26

  IP地址: 11010010.11011110.01111011.00010100
  子网掩码:11111111.11111111.11111111.11000000
  网络ID: 11010010.11011110.01111011.00000000

  简单计算方法:子网掩码位数皆为1,相与皆为原值
  前面和子网掩码对应的整八位不用计算,直接原值,只有与子网掩码有位数不同的才需要计算

 

IP地址: 210.222.123.20/21
子网掩码:21位掩码,前16位两段直接就是255,后面有5位需要计算,其余补0
则11111000 --> 248
可得子网掩码为255.255.248.0

计算网络ID:与子网掩码相与的前16位直接原值210.222.
第三段IP地址123解为二进制为01111011
子网掩码第三段解为二进制为11111000
相与计算:01111000 --> 120
则网络ID为:210.222.120.0


两个主机的通信
A:10.0.200.1/24
B:10.0.210.2/16

A--->B
通信过程:
1. IPA与A netmask => A网段=10.0.200.0
2. IPB与A netmask => B网段=10.0.210.0
3. 比较两个值,一样则认为可以通信

A<---B
通信过程:
1. IPA与B netmask => A网段=10.0.0.0
2. IPB与B netmask => B网段=10.0.0.0
3. 比较两个值,一样则认为可以通信

实际情况:
A主机认为不可到达B主机
B主机认为可以到达A主机,可以ping,但是无回应,会超时

 

私有IP地址
A类: 10.0.0.1 --- 10.255.255.254
B类: 172.16.0.1 --- 172.31.255.254
C类: 192.168.0.1 --- 192.168.255.254
这类IP不能在互联网直接访问,只能在局域网里使用

 

划分子网:将一个大网划分多个小网,网络ID位向主机ID借位,网络ID位增多,主机ID变少
公式:划分子网数量 = 2^网络ID向主机ID借位的位数

借一位 10.0.0.0/8 -->> 10.0.0.0/9
第一段
10.0 0000000.0.0 
10.0.0.1 -- 10.127.255.254
第二段
10.1 0000000.0.0
10.128.0.1 -- 10.255.255.254


借两位 10.0.0.0/8 -->> 10.0.0.0/10
第一段
10.00 000000.0.0
10.0.0.1 -- 10.63.255.254
第二段
10.01 000000.0.0
10.64.0.1 -- 10.127.255.254
第三段
10.10 000000.0.0
10.128.0.1 -- 10.191.255.254
第四段
10.11 000000.0.0
10.192.0.1 -- 10.255.255.254

习题:
10.0.0.0/8中国移动给全国32省划分独立的子网,第10个子网是河南,对河南各地市划分16个子网
1.新的子网的netmask
  255.255.128.0
2.新的子网的主机数
  32766
3.最小的和最大的子网的网络ID
  10.72.0.1/17
  10.79.128.1/17
4.最大的子网的IP范围
  10.79.128.1 -- 10.79.255.254


路由表的构成
  1.网络ID netmask: 目标主机所在网络ID
  2.接口interface:到达目标主机所在网络ID,从当前router哪个出口发出去,可以到达,出口就是接口
  3.网关gateway:到达非直连网络时,将数据发送到下一个路由器的邻近我的接口的IP,即网关


本地解析
/etc/hosts

CentOS 6
网卡配置文件 
/etc/udev/rules.d/70-persistent-net.rules
网卡驱动
  ethtool -i eth0 查看eth0网卡的驱动模块
  modprobe -r e1000 卸载驱动模块e1000
  modprobe e1000 加载驱动模块e1000

在网卡配置文件里面修改了网卡名称需要卸载网卡再加载


ifconfig eth0 down 禁用网卡eh0
ifconfig eth0 up 启用网卡eth0
ip link set eth0 up 启用网卡
ip link set eth0 down 禁用网卡
ifconfig eth0 1.1.1.1/24 给网卡eth0加IP,临时性,重新down再up就丢失,一般用于测试环境
ifconfig eth0:1 2.2.2.2/24 给网卡eth0加多个地址,添加别名实现,否则会覆盖
ifdown eth0 可以down IP地址,但是网卡还是up状态
ifup eth0 up以后,临时IP都会丢失
ifconfig -s eth0 网卡eth0统计信息
watch -n0.5 ifconfig -s eth0 每0.5秒扫描一次变化


静态指定
  ifconfig,route,netstat
  ip {addr,link,route}
  system-config-network 网卡地址配置
  steup 电脑总体配置,包含网卡

混杂模式:可以接受非本机地址的数据包,用于数据分析,或者窃听网络

路由器命令
  route -n 路由信息查看
  route add 添加路由
网络路由:
  route add -net 10.10.10.0/24 gw 172.16.0.1 dev eth0
主机路由: 精确地址的优先级会更高
  route add -host 10.10.10.1/24 gw 172.16.0.1 dev eth0

netstat 显示当前网络连接情况
  -n :解析为数字
  -l :处于监听状态
  -t :TCP协议
  -u :UDP协议
  -p :显示程序名和进程 可以用于检查应用程序在网络上,如果不需要可以删除的程序
  -a :所有状态
  -r :显示路由表 一般加n
  -i :显示端口的流量
  -I :显示某个端口流量 格式特殊 netstat -Ieth0 和端口必须连起来写
常用组合:-tan,-uan,-tnl,-unl

关闭SELINUX
  getenforce 查看状态
  setenforce 0 临时关闭,重启失效
  vim /etc/sysconfig/selinux 修改SELINUX=disabled,重启不开启服务
iptables关闭
  chkconfig iptables off 临时关闭,重启失效
  service iptables stop 关闭服务,重启不开启服务
  iptables -vnL 查看状态

centos做路由器
  echo 1 > /proc/sys/net/ipv4/ip_forward    开启路由转发功能,状态由0改为1

DHCP自动获取地址
  dhclient 自动获取ip地址命令

多路由网络实验:

1.关闭selinux
getenforce 查看状态
setenforce 0 临时关闭,重启失效
vim /etc/sysconfig/selinux 修改SELINUX=disabled,重启不开启服务
2.关闭iptables
chkconfig iptables off 临时关闭,重启失效
service iptables stop 关闭服务,重启不开启服务
iptables -vnL 查看状态
3.关闭NetManager
service NetManager stop
4.网卡配置文件
/etc/sysconfig/network-scripts/ifcfg-eth1 增加的网卡如果不稳定,掉IP,增加配置文件
5.echo 1 > /proc/sys/net/ipv4/ip_forward 路由转发功能,支持路由功能

IP、MASK、GW、DNS相关配置文件:
/etc/sysconfig/network-scripts/ifcfg-IFACE
静态配置:
DEVICE=ethX
HWADDR=00:02:8A:A6:30:45 改MAC地址,MACADDR=00:00:00:00:00:00
IPADDR=192.168.0.123 
NETMASK=255.255.255.0 
GATEWAY=192.168.0.254 
DNS1=114.114.114.114
DNS2=8.8.8.8
ONBOOT=yes 
Type=Ethernet
动态配置:
DEVICE=ethX
HWADDR=0:02:8A:A6:30:45 
BOOTPROTO=dhcp
ONBOOT=yes 
Type=Ethernet 
路由相关的配置文件:
/etc/sysconfig/network-scripts/route-IFACE
10.0.0.0/8 via 172.16.0.1

 

windows系统IP命令
ipconfig 
/renew 重新申请DHCP
/release 释放当前IP,重新申请
/all 显示完整配置信息
/flushdns 清除DNS解析程序缓存

ss命令
格式:ss [OPTION]... [FILTER]
netstat通过遍历proc来获取socket信息,ss使用netlink与内核tcp_diag,ss命令性能更佳
模块通信获取socket信息。
选项:
-t: tcp协议相关
-u: udp协议相关
-w: 裸套接字相关
-x:unix sock相关
-l: listen状态的连接
-a: 所有
-n: 数字格式
-p: 相关的程序及PID
-e: 扩展的信息
-m:内存用量
-o:计时器信息


FILTER : [ state TCP-STATE ] [ EXPRESSION ]
TCP的常见状态:
tcp finite state machine:
LISTEN: 监听
ESTABLISHED:已建立的连接
FIN_WAIT_1
FIN_WAIT_2
SYN_SENT
SYN_RECV
CLOSED
EXPRESSION:
dport = 
sport = 
示例:’( dport = :ssh or sport = :ssh )’
常用组合:
-tan, -tanl, -tanlp, -uan

常见用法
ss -l 显示本地打开的所有端口
ss -pl 显示每个进程具体打开的socket
ss -t -a 显示所有tcp socket
ss -u -a 显示所有的UDP Socekt
ss -o state established '( dport = :ssh or sport = :ssh )' 显示所有已建立的ssh连接
ss -o state established '( dport = :http or sport = :http )' 显示所有已建立的HTTP连接
ss -s 列出当前socket详细信


ip命令 
show / manipulate routing, devices, policy routing and tunnels
ip [ OPTIONS ] OBJECT { COMMAND | help }
OBJECT := { link | addr | route }
ip link - network device configuration
set dev IFACE
可设置属性:
up and down:激活或禁用指定接口
ifup/ifdown
show [dev IFACE]:指定接口
[up]:仅显示处于激活状态的接口


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 - 使用格式同show
ip addr add 172.16.100.100/16 dev eth0 label eth0:0
ip addr del 172.16.100.100/16 dev eth0 label eth0:0
ip addr flush dev eth0 label eth0:0


ip route - routing table management
添加路由:ip route add
ip route add TARGET via GW dev IFACE src SOURCE_IP
TARGET:
主机路由:IP
网络路由:NETWORK/MASK
ip route add 192.168.0.0/24 via 172.16.0.1
ip route add 192.168.1.13 via 172.16.0.1
添加网关:ip route add default via GW dev IFACE
ip route add default via 172.16.0.1
删除路由:ip route delete
ip route del TARGET 
显示路由:ip route show|list
清空路由表:ip route flush [dev IFACE] [via PREFIX]
ip route flush dev eth0


改主机名:
centos6
1.vim /etc/sysconfig/network 修改文件永久生效
HOSTNAME=newhostname
2.# hostname newhostname 命令临时启用新名
3.exit 重新登陆
4.vim /etc/hosts 在127.0.0.0 后添加新名

centos7
hostname newhostname 直接命令修改永久生效
exit 重新登陆


DNS配置文件:
/etc/hosts 本地解析文件
/etc/nsswitch.conf DNS解析服务,优先级设置


BONDING配置:多网卡绑定
Mode 0 (balance-rr)
轮转(Round-robin)策略:从头到尾顺序的在每一个slave接口上面发送数据包。本模式提供负载均衡和容错的能力
Mode 1 (active-backup)
活动-备份(主备)策略:只有一个slave被激活,当且仅当活动的slave接口失败时才会激活其他slave。为了避免交换机发生混乱此时绑定的MAC地址只有一个外部端口上可见
Mode 3 (broadcast)
广播策略:在所有的slave接口上传送所有的报文,提供容错能力

active-backup、balance-tlb和balance-alb模式不需要交换机的任何特殊配置。其他绑定模式需要配置交换机以便整合链接。如:Cisco 交换机需要在模式 0、2 和 3 中使用EtherChannel,但在模式4中需要 LACP和 EtherChannel

配置文件:
/etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0 仅名称,不具有模式功能
BOOTPROTO=none 
BONDINGOPTS="miimon=100 mode=0" miimon网卡间通讯间隔,mode网卡bonding模式

/etc/sysconfig/network-scripts/ifcfg-eth0 
DEVICE=eth0 
BOOTPROTO=none
MASTER=bond0 加入的bond名
SLAVE=yes 是否为从属设备
USERCTL=no

/etc/sysconfig/network-scripts/ifcfg-eth1 
DEVICE=eth0 
BOOTPROTO=none
MASTER=bond0 加入的bond名
SLAVE=yes 是否为从属设备
USERCTL=no

需要几张网卡就加几张,格式同上

/proc/net/bonding/bond0 查看bonding信息

删除bonding
ifconfig bond0 down 停用
lsmod |grep bond ethtool -i bond0 检查所用驱动模块
modprobe -r bonding 或rmmod bonding 删除驱动模块
rm -f ifcfg-bond0 删除配置文件
vim ifcfg-eth0 修改网卡文件

Centos7配置

删除虚拟网卡
yum remove libvirt-daemon 删除虚拟网卡
lsmod |grep brid ethtool -i virbr0-nic 检查驱动模块
rmmod tun 删除驱动

网卡采用传统方式命名:
1.编辑/etc/default/grub配置文件
GRUB_CMDLINE_LINUX="rhgb quiet net.ifnames=0"
或:修改/boot/grub2/grub.cfg
2.为grub2生成配置文件
grub2-mkconfig -o /etc/grub2.cfg
3.重启系统

主机名更改
hostnamectl set-hostname newname 命令改名一次性到位
更改配置/etc/hosts 避免网络问题

图形化工具:nm-connection-editor
字符配置工具:nmtui 
命令行工具:nmcli 主流


网卡配置文件生成:
nmcli connection add con-name ens33-idc type ethernet ifname ens33 ipv4.method manual ipv4.addresses 192.168.1.6/24 ipv4.gateway 192.168.1.1 ipv4.dns 8.8.8.8 添加配置文件

nmcli connection add con-name ens33-office type ethernet ifname ens33 ipv4.method auto
connection.autoconnect yes|no 是否自动启动 同onboot
con-name ens33-idc 命名
type ethernet 类型
ifname en3ss 网卡设备名
ipv4.method {manual|} 手动指定模式,自动模式

nmcli connection modify ens33-idc +ipv4.addresses 1.1.1.1/24 增加IP
+ipv4.gateway
+ipv4.dns1

nmcli connection up ens33-idc 启用某个配置文件
nmcli connection reload 重新读取配置文件
nmcli connection show ens33 显示详细信息
nmcli connection delete ens33-idc 删除配置文件
nmcli device 查看网卡状态
nmcli device status 查看网卡状态
nmcli device disconnect ens33 断开网卡
nmcli device connect ens33 连接网卡
nmcli connection modify ens33-idc connection.id ens33-office 改名
nmcli connection modify ens33-idc connection.autoconnect yes onboot更改


添加bond
  添加bonding接口:
    nmcli con add type bond con-name mybond0 ifname mybond0 mode active-backup ipv4.method manual ipv4.addresses 192.168.1.100/24
  添加从属接口:
    nmcli con add type bond-slave1 ifname ens37 master mybond0
    nmcli con add type bond-slave2 ifname ens33 master mybond0
  首先启动从属接口
    nmcli con up bond-slave-eth0
    nmcli con up bond-slave-eth1
  启动绑定
    nmcli con up mybond0

 

修改bond
  nmcli c modify bond0 ipv4.method auto 修改属性然后
  nmcli c down bond0 slave1 slave2 down掉bond0,slave1,slave2
  nmcli c up bond0 up,三块网卡
  nmcli c up slave1
  nmcli connection up slave2

posted on 2018-12-10 11:12  tony3154  阅读(665)  评论(0)    收藏  举报

导航