网卡配置文件:
/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0(必须和物理网卡同名)
IPADDR=172.20.0.6
PREFIX=16
#BOOTPROTO=static
#GATEWAY=172.20.0.1
#NAME=eth1
#ONBOOT=yes
#DNS1=114.114.114.114
#IPADDR2=192.168.0.1
#PREFIX2=24
*可子接口单建文件,单建注意修改网卡名称eth1:1
可添加的选项
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服务器指向
PEERDNS:如果BOOTPROTO的值为“dhcp”,是否允许dhcp server分配的dns服务器指向信息直接覆盖/etc/resolv.conf文件中
若eth1想从DHCP服务器获取
DEVICE=eth1
BOOTPROTO=dhcp
ifconfg命令
查看 ifconfig -a
启用网卡 ifconfig -eth1 up(ifup eth1 启用网络层)
禁用网卡 ifconfig -eth1 down(ifdown eth1 禁用网络层)
临时配置IP ifconfig eth1 192.168.0.100
配置别名eth1:1 ifconfig eth1:1 192.186.23.4/24
重置网络 service NetworkManager restart
service Network restart
抓包:tcpdump -i eth0 -icmp (从eth0抓icmp协议)
nmcli命令
1. 创建自定义链接配置文件
nmcli connection add con-name eth0-test ifname eth0 type ethernet ipv4.addresses 192.168.32.100/24 ipv4.method manual autoconnect no ipv4.gateway 192.168.32.1
(创建连接名为eth0-test,针对于eth0,类型为ethernet,ipv4地址为192.168.32.100/24,ipv4模式为手工创建,不自动链接,网关为192.168.32.1)
2. 创建新链接eth0-test,IP自动通过dhcp获取
nmcli connection add con-name eth0-test ifname eth0 type ethernet
3. 删除链接
nmcli con del eth0-test
4. 查看配置文件(绿色为启用)
nmcli connection
5. 切换配置文件,启动配置文件
nmcli connection up eth0-test
6. 显示配置文件信息
nmcli connection show eth0-test
7. 修改配置文件中NAME=(我这里为eth0-test,网卡称呼不是配置文件名)
nmcli connection modify eth0-office con-name eth0-test
8. 修改配置文件中ONBOOT=(yes或no网卡是否启动)
nmcli connection modify eth0-test connection.autoconnect no
9. 修改配置文件中BOOTPROTO=none(创建配置文件默认不添`ipv4.method manual`默认为=dhcp,设置自定义IP失效)
nmcli connection modify eth0-home ipv4.method manual
10. 添加配置文件中多个地址(选择接口名之后添加,记得修改BOOTPROTO)
nmcli connection modify eth0-test +ipv4.addresses 2.2.2.2/24
11. 删减配置文件中地址
nmcli connection modify eth0-test -ipv4.addresses 2.2.2.2/24
12. 断开链接
nmcli device disconnect eth0
13. 重新链接
nmcli device connect eth0
route命令
路由配置文件
/etc/syconfig/network-scripts/route-eth0(文件默认不存在,自行创建)
192.168.31.0/24(目标网络) via 192.168.32.7(网关)写入文件
- route -n 查看路由表
- route add -host 192.168.32.60 dev eth1(-host单加一个主机,真实中一般不用,都加网段)
- route add -net 192.168.32.0/24 gw 192.168.31.0(-net添加一个网段)
- route del -net 192.168.32.0/24 dev eth1删除(-net整个网段)
- Linux机器开启路由功能/proc/sys/net/ipv4/ip_forward
echo 1 >/proc/sys/net/ipv4/ip_forward 开启
echo 0 >/proc/sys/net/ipv4/ip_forward 不开启
- 查看经过几跳到达
mtr 192.168.32.7
traceroute 192.168.32.7
- 末端路由添加deault默认网段,网关即可
(deault=0.0.0.0/0)
route add deault gw 10.0.0.1
注:如172.16.4.0/16错,注意添加网段。
注:vlan是划分出广播域,网段不一样
ip命令
- 命令补全
centos7 tab键可补全命令,
centos6上需配置epel源:
[root@Dadda6 ~]#vim /etc/yum.repos.d/base.repo
[epel]
name=EPEL
baseurl=http://mirrors.aliyun.com/epel/$releasever/$basearch
gpgcheck=0
enabled=1
安装`yum install bash-completion`
之后exit重新进入可以用补全命令
- ip link 查看数据链路层信息
vim /etc/syconfig/network-scripts/route-eth0
添加一行
MACADDR=新MAC,可以逻辑上更改MAC地址
- ip addr 查看网卡信息
ip addr add 2.2.2.2/24 dev ens33 加IP
ip addr add 3.3.3.3/24 dev ens33 labal ens33:1 加别名IP
ip addr del 3.3.3.3/24 dev ens33 删除
ip addr flush ens33 子口地址全删
- ip route 查看路由表
ip route add 2.2.2.0/24 via 192.168.32.100 添加路由
等同
route add -net 2.2.2.0/24 gw 192.168.32.100
ip route add default via 192.168.32.100 添加默认路由
ip route delete 删除
iproute flush dev eth1 清空eth1路由表
ss命令
- 常用组合:
tan, -tanl, -tanlp, -uan
-t: tcp协议相关
-u: udp协议相关
-w: 裸套接字相关
-x:unixsock相关
-l: listen状态的连接
-a: 所有
-n: 数字格式
-p: 相关的程序及PID
-e: 扩展的信息
-m:内存用量
-o:计时器信息
- 常见用法
ss -l 显示本地打开的所有端口
ss -pl显示每个进程具体打开的socket
ss -t -a 显示所有tcpsocket
ss -u -a 显示所有的UDP Socekt
ss -o state established '( dpor t= :ssh or sport = :ssh )' 显示所有已建立的ssh连接
ss -o state established '( dpor t= :http or sport = :http )' 显示所有已建立的HTTP连接
ss -s 列出当前socket详细信息
netstat命令 被ss命令逐渐淘汰
-t: tcp协议相关
-u: udp协议相关
-w: raw socket相关
-l: 处于监听状态
-a: 所有状态
-n: 以数字显示IP和端口
-e:扩展格式
-p: 显示相关进程及PID
1. netstat -tnla 查看谁连我次数多
2. netstat -tnape 查看用哪个应用程序连我
3. netstat -nr 同 route -n显示路由表
4. netstat -i 查看数据报文变化
可配合
watch -n0.5 \netstat -i\使用
每0.5使用一次 netstat -i命令
5. netstat -Ieth0 查看具体接口的数据报文。
大写I到后面紧接网卡名不要空格
同命令`ifconfig -s eth0`
vtysh命令 (与思科命令相似)
RIP协议考虑经过的路由器数量 OSPF协议综合考虑,带宽和数量
1. yum install quagga
安装quagga包
2. service ospfd start
启动ospfd服务
3. cd /etc/quagga ls
查看是否启动,没启动缺少配置文件
cp ospfd.conf.sample ospfd.conf
把文件的.sample去了,变成.conf结尾的配置文件
4. service ospfd start
再次启动
5. vtysh进入开始配置
6. conf -t
7. router ospf 开始配置(与思科命令相似)
Bonding配置
**boding的几种模式**:
1. Mode 0 (balance-rr)
轮转(Round-robin)策略:从头到尾顺序的在每一个slave接口上面发送数据包。本模式提供负载均衡和容错的能力
2. Mode 1 (active-backup)
活动-备份(主备)策略:只有一个slave被激活,当且仅当活动的slave接口失败时才会激活其他slave。为了避免交换机发生混乱此时绑定的MAC地址只有一个外部端口上可见
3. Mode 3 (broadcast)
广播策略:在所有的slave接口上传送所有的报文,提供容错能力
4. active-backup、balance-tlb和balance-alb模式不需要交换机的任何特殊配置。其他绑定模式需要配置交换机以便整合链接。如:Cisco 交换机需要在模式0、2 和3 中使用EtherChannel,但在模式4中需要LACP和EtherChannel
一、创建所需的文件:
配置文件:
1. /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
BOOTPROTO=none
BONDING_OPTS=“miimon=100 mode=1” (主备模式)
IPADDR=
PREFIX=
2. /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
3. /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
二、取消所需的步骤:
取消boding步骤:
1. ifconfig bond0 down
2. modprobe -r bonding
3. rm -f ifcfg-bond0
- 查看bond0状态:/proc/net/bonding/bond0
通过nmcli实现bonding
一、添加bonding接口
nmclicon add type bond con-name mybond0 ifname mybond0 mode active-backup
二、添加从属接口
nmclicon add type bond-slave ifname ens7 master mybond0
nmclicon add type bond-slave ifname ens3 master mybond0
注:如无为从属接口提供连接名,则该名称是接口名称加类型构成
要启动绑定,则必须首先启动从属接口
nmclicon up bond-slave-eth0
nmclicon up bond-slave-eth1
三、启动绑定
nmclicon up mybond0
## CentOS7 team链路聚合
### 1.创建team
TEAM链路聚合
TEAM创建
一、创建网络组接口
nmcli con add type team con-name team0 ifname team0 config '{"runner":{"name":"activebackup"}}' ipv4.method manual ipv4.addressed 192.168.32.60/24 connection.autoconnect yes
创建类型team,名字team0,接口team0,JSON指定方式,ip手工方式,ip设置,自动链接
*采用的是JSON指定runner方式
格式:'{"runner": {"name": "METHOD"}}'
METHOD可以是broadcast,roundrobin,activebackup,loadbalance, lacp
二、创建port接口
nmclicon con add con-name team0-eth0 type team-slave ifname eth0 master team0
nmclicon con add con-name team0-eth1 type team-slave ifname eth1 master team0
三、启用port接口
nmcli connection up team0-eth0
nmcli connection up team0-eth1
四、查看组内活动接口状态
teamdctl team0 state
TEAM切换模式
一、改文件:
vim /etc/sysconfig/network-scripts/ifcfg-team0
改为广播模式{"runner":{"name":"boardcast"}}
二、关闭接口
nmcli connection down team0
三、重新加载一下
nmcli connection reload
四、需重新开启三接口
nmcli connection up team0-eth0 开启eth0
nmcli connection up team0-eth1 开启eh1
五、配合ping可查看 断开链接测试
nmcli dev disconnect eth0
TEAM删除
一、关闭team0
nmcli connection down team0
二、查看状态
teamdctl team0 state
nmcli connection
三、删除端口
nmcli connection delete team0或
nmcli connection delete team-eth0
nmcli connection delete team-eth1
*可直接删配置文件,建议用nmcli删除
rm -rf ifcfg-team0
** 注意事项
1.启动网络组接口不会自动启动网络组中的port接口
2.启动网络组接口中的port接口总会自动启动网络组接口
3.禁用网络组接口会自动禁用网络组中的port接口
4.没有port接口的网络组接口可以启动静态IP连接
5.启用DHCP连接时,没有port接口的网络组会等待port接口的加入
小常识
当网络中不存在DHCP服务器时,获取169.254.x.y地址。
DNS文件和/etc/hosts文件的查询优先级可通过修改
配置文件:/etc/nsswitch.conf
找到hosts:行后 dns file 位置可调换