hostname
-
centos6
-
命令
hostname
-
配置文件
/etc/sysconfig/network
/etc/hosts
文件127.0.0.1后添加主机名
-
-
centos7
-
命令
hostname
-
配置文件
/etc/hostname
/etc/hosts
注:hosts文件可做名词解析。格式:IP+Domain -
hostnamectl
命令可自动修改/etc/hostname
文件,需手动再改下/etc/hosts
文件-
set-hostname 设置主机名
-
status 可查看主机详细信息
-
-
网卡配置
Centos6
-
网卡命名
eth[0,1,2...]-
配置文件
/etc/udev/rules.d/70-persistent-net.rules
根据mac地址,更改后面NAME=的参数 -
生效方法
-
方法1:卸载网卡驱动程序模块后,再重新加载
-
查询网卡驱动
ethtool -i eth1
(查看网卡eth1,驱动模块)dmesg |grep eth
(查看所有硬件信息,筛选出驱动)lsmod | grep e1000
(列出所有加载到内存的驱动程序模块,筛选出网卡) -
modprobe -r e1000
卸载模块e1000的驱动 或rmmod e1000
-
modprobe e1000
重新加载模块e1000的驱动`
-
-
方法2:重启
-
-
Centos7
-
网卡命名
ens[33.37..]- 使用传统命名方式:
(1) 编辑/etc/default/grub配置文件
GRUBCMDLINELINUX="rhgbquiet net.ifnames=0"
或:直接修改/boot/grub2/grub.cfg,不需第三步
(2) 为grub2生成其配置文件
grub2-mkconfig -o /boot/grub2/grub.cfg(3) 重启系统
- 使用传统命名方式:
ifconfig配置网卡信息
-
网卡配置文件/etc/sysconfig/network-scripts/ifcfg-eth1
#号可不写DEVICE=eth1(必须和物理网卡同名) #NAME=eth1 BOOTPROTO=static IPADDR=172.20.0.6 PREFIX=16 #GATEWAY=172.20.0.1 #ONBOOT=yes #DNS1=114.114.114.114 #IPADDR2=192.168.0.1 (子接口设置在一起,或子接口单建文件,单建注意修改网卡名称eth1:1) #PREFIX2=24
-文件内可添加的选项
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服务器获取
cat > ifcfg-eth1 DEVICE=eth1 BOOTPROTO=dhcp 重启网络
-
ifconfig -eth1 down
禁用网卡 (ifdown eth1
禁用网络层) -
ifconfig -eth1 up
启用网卡 (ifup eth1
启用) -
ifconfig -a
或ip a
查看 -
ifconfig eth1 192.168.0.100
临时配置IP
去除ifconfig -eth1 down
-
ifconfig eth1:1 192.186.23.4/24
给eth1 配置别名eth1:1 -
service NetworkManager restart
重置网络service Network restart
restartnet
centos7上 -
tcpdump -i eth0 -nn icmp
抓包:从eth0抓icmp协议 -
DNS文件和/etc/hosts文件的查询优先级可通过修改
vim /etc/nsswitch.conf
文件
找到hosts:行后 dns file 位置可调换
centsos7 可通过nmcli命令修改配置文件
-
创建自定义链接配置文件
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-home,针对于eth0,类型ethernet,ipv4地址为192.168.32.100/24,ipv4手工创建,不自动链接) -
创建新链接eth0-test,IP自动通过dhcp获取
nmcli connection add con-name eth0-test ifname eth0 type ethernet
-
删除链接
nmcli con del eth0-test
-
查看配置文件(绿色为启用)
nmcli connection
-
切换配置文件,启动配置文件
nmcli connection up eth0-test
-
显示配置文件信息
nmcli connection show eth0-test
-
修改配置文件中NAME=(我这里为eth0-test,网卡称呼不是配置文件名)
nmcli connection modify eth0-office con-name eth0-test
-
修改配置文件中ONBOOT=(yes或no,网卡现在是否启动)
nmcli connection modify eth0-test connection.autoconnect no
-
修改配置文件中BOOTPROTO=none(创建配置文件默认不添
ipv4.method manual
默认为=dhcp,设置自定义IP失效)nmcli connection modify eth0-home ipv4.method manual
-
添加配置文件中多个地址(选择接口名之后添加,记得修改BOOTPROTO)
nmcli connection modify eth0-test +ipv4.addresses 2.2.2.2/24
-
删减配置文件中地址
nmcli connection modify eth0-test -ipv4.addresses 2.2.2.2/24
-
断开链接
nmcli device disconnect eth0
-
重新链接
nmcli device connect eth0
route命令
-
路由配置文件 /etc/syconfig/network-scripts/route-eth0
10.0.0.0/8 via 192.168.32.100 目标网络ID via 网关 (新建文件路由接口名自定义,几个接口建立几个文件,添加静态路由可永久保存)
-
route -n
查看 -
route add -host 192.168.32.60 dev eth1
添加(- host单主机) -
route add -net 192.168.32.0 gw 10.0.0.8
自动选择网卡可不添 -
route del -net 192.168.32.0/24 dev eth1
删除(-net整个网段) -
PC开启路由功能
/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
显示每个进程具体打开的socketss -t -a
显示所有tcpsocketss -u -a
显示所有的UDP Socektss -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
-
netstat -tnla
查看谁连我次数多 -
netstat -tnape
查看用哪个应用程序连我 -
netstat -nr
同route -n
显示路由表 -
netstat -i
查看数据报文变化可配合 watch -n0.5 `netstat -i`使用,每0.5使用一次 netstat -i命令 -
netstat -Ieth0
查看具体接口的数据报文。
大写I到后面紧接网卡名不要空格
同命令ifconfig -s eth0
-
使用vtysh命令配置 (与思科命令相似)
-
RIP协议考虑经过的路由器数量
OSPF协议综合考虑,带宽和数量-
yum install quagga 安装quagga包
-
service ospfd start 启动ospfd服务
-
cd /etc/quagga ls查看是否启动,没启动缺少配置文件
cp ospfd.conf.sample ospfd.conf 把文件的.sample去了,变成.conf结尾的配置文件 -
service ospfd start 再次启动
-
vtysh进入开始配置
-
conf -t
-
router ospf 开始配置(与思科命令相似)
-
小常识:当网络中不存在DHCP服务器时,获取169.254.x.y地址。
Bonding配置
-
boding的几种模式
-
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
-
-
创建bonding设备的配置文件
-
/etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
BOOTPROTO=none
BONDING_OPTS=“miimon=100 mode=1” (主备模式)
IPADDR=
PREFIX= -
/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
MASTER=bond0
SLAVE=yes -
/etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
-
-
取消boding
-
ifconfig bond0 down
-
modprobe -r bonding
-
rm -f ifcfg-bond0
-
-
查看bond0状态:/proc/net/bonding/bond0
Centos7通过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
-
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
- JSON指定runner方式
-
创建port接口
nmclicon con add on-name team0-eth0 type team-slave ifname eth0 master team0 nmclicon con add on-name team0-eth1 type team-slave ifname eth1 master team0
-
启用
nmcli connection up team0-eth0 开启eth0 nmcli connection up team0-eth1 开启eh1
-
查看
nmcli connection 查看 teamdctl team0 state 查看组内活动接口
切换模式直接改文件
/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可查看
ping 192.168.32.60 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
注意事项
启动网络组接口不会自动启动网络组中的port接口
启动网络组接口中的port接口总会自动启动网络组接口
禁用网络组接口会自动禁用网络组中的port接口
没有port接口的网络组接口可以启动静态IP连接
启用DHCP连接时,没有port接口的网络组会等待port接口的加入