IP组成
网络部分 主机部分 网络部分(网络位):直接决定了可以分配的网络数 计算方法:2^网络号位数-2 主机部分(主机位):则决定了网络中最大的主机数 计算方法:2^主机号位数-2 网络地址:用来表示一个网络。主机位取值全部为0,例如:192.168.1.0 /24 广播地址:用于在一个网络内一对所有的通信。主机部分全部换成1。
128 64 32 16 8 4 2 1
192.168.1.23/24
-
10101000. 00000001.00010111
10.11.65.230/24 00001010.00001011.01000001.11100110
192.168.1.0/24 网络地址 192.168.1.255 广播地址 00000000 0 1 2的8次方 -2 可用主机数
192.168.2.0/16 192.168.0.0/16 网络地址 192.168.255.255 广播地址 2的16次方 -2
以.0结尾的一般情况下代表的是网段.
计算可用的ip 地址数量
如何计算该网络中的可用ip地址数量
2^n -2 n是主机位
10.9.12.0/25的 网络是10.9.12.0/24网络的子网
系统初始化
更换yum 仓库为国内
配置服务器网络 网络正常 (dhcp -->static)
关闭防火墙和selinux
网卡及管理应用
查看
查看ip a
link/ether MAC地址 intet 6(ipv6) inet (ip 地址和子网掩码)
ifconfig 查看
RX 接收
TX 发送
DEVICE=eth0 #网卡设备名称 ONBOOT=yes #启动时是否激活 yes | no BOOTPROTO=static #协议类型 dhcp bootp none IPADDR=192.168.1.90 #网络IP地址 NETMASK=255.255.255.0 #网络子网地址 GATEWAY=192.168.1.1 #网关地址 BROADCAST=192.168.1.255 #广播地址 HWADDR=00:0C:29:FE:1A:09 #网卡MAC地址 TYPE=Ethernet #网卡类型为以太网
配置文件
动态配置文件:
vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 NAME="eth0" //名称 可以不存在 BOOTPROTO=dhcp //(none或static 静态获取 )(dhcp 动态获取IP) ONBOOT=yes //开机启动 TYPE=Ethernet // 以太网类型
静态配置文件
[root@k8s-master ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 TYPE="Ethernet" BOOTPROTO="static" NAME="eth0" DEVICE="eth0" ONBOOT="yes" IPADDR=10.0.0.11 GATEWAY=10.0.0.1 NETMASK=255.255.255.0 DNS1=114.114.114.114
重启网络服务: 配置文件修改后必须重起网络服务 [root@xingdian ~]# systemctl restart network
注意: ping命令通过ICMP(Internet控制消息协议)工作;ping可以用来测试本机与目标主机是否联通、联通速度如何、稳定性如何。
扩展 stream 9
网络管理
1、查看ip地址
[root@xingdian ~]# ifconfig eth0 //单独查看eth0
[root@xingdian ~]# ifconfig //查看所有网卡
[root@xingdian ~]# ip a //查看所有网卡
[root@xingdian ~]# ip a s eth0 //单独查看eth0
2、配置IP(临时)添加删除
ifconfig eth0 192.168.2.250/24 //会覆盖旧的IP ifconfig eth0:0 192.168.2.251/24 子网掩码可以不写 ip addr add 192.168.2.250/24 dev eth0 ip a a 192.168.2.250/24 dev eth0 ip a d 192.168.2.8/24 dev enp0s25 注意: add 添加IP 简写成a del 删除IP 简写成d
添加/删除
临时添加IP(重新启动网络服务 失效)
ip a a IP地址/子网掩码 dev 网卡设备名
网路位一致
ifconfig etho :0(序号) IP地址/子网掩码
删除
ip a d IP地址/子网掩码 dev 网卡设备名
永久
增加网卡设备需要手动配置 cp vim 重启
启动网卡:
ifconfig eth0 up ifup 网卡配置文件
关闭网卡:
ifconfig eth0 down ifdown 网卡配置文件
路由
vmwaer网络 三种网络模式
1.nat 创建一个新的网络(能够跟主机互相通信,可以访问跟宿主机同一网段的所有服务器,除了宿主机以外,其他服务器不能访问这个虚拟机.)
2.桥接(vmware安装过程没有安装桥接网卡) 桥接模式的虚拟机的IP地址跟宿主机本身处于同一个网段. (10.11.59.110)(10.11.59.111) 网关:跟宿主机也保持一致 相当于独立于局域网内的一台机器,可以跟局域网任何的机器进行互相的通讯.
3.仅主机 虚拟机只能跟宿主机进行通讯
静态路由和动态路由
路由器在转发数据时,需要现在路由表中查找相应的路由,有三种途径 (1)直连路由:路由器自动添加和自己直连的路由 (2)静态路由:管理员手动添加的路由 (3)动态路由:由路由协议动态建立的路由 rip ospf bgp is-is
静态路由:
缺点 不能动态的反映网络拓扑,当网络发生变化的时候,管理员必须手动的改变路由 优点 不会占用路由器太多的cpu和RAM资源,也不会占用太多带宽。 如果出于安全的考虑想隐藏网咯的某些部分或者管理员想控制数据当于独立于局域网内的一台机器,可以跟局域网任何的机器进行互相的通讯.转发路径也可以使用静态路由,小网络也可以配置静态路由 因为便捷
动态路由:
动态路由是与静态路由相对的一个概念,指路由器能够根据路由器之间的交换的特定路由信息自动地建立自己的路由表,并且能够根据链路和节点的变化适时地进行自动调整。当网络中节点或节点间的链路发生故障,或存在其它可用路由时,动态路由可以自行选择最佳的可用路由并继续转发报文。
Linux路由操作
ip方式(rhel7)
查看路由表
ip r default via 10.18.44.1 dev enp0s25 10.18.40.100 via 10.18.44.1 dev enp0s25 proto dhcp metric 100 10.18.44.0/24 dev enp0s25 proto kernel scope link src 10.18.44.196 metric 100 10.18.45.0/24 via 10.18.44.1 dev enp0s25 192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1
删除默认网关
ip r d default
删除静态路由:
ip r del 10.18.45.0/24
添加默认网关:
ip r add default via 10.18.44.1 dev enp0s25
添加静态路由:
ip r a 10.18.45.0/24 via 10.18.44.1 dev enp0s25
开启路由转发功能(永久开启)
vim /etc/sysctl.conf 来永久开启路由转发功能 net.ipv4.ip_forward = 1 sysctl -p
在子配置文件中配置策略
vim /etc/sysctl.d/xingdian.conf
临时开启路由转发
[root@qf-xingdian ~]# echo 1 > /proc/sys/net/ipv4/ip_forward
查看是否关闭防火墙和selinux 的命令
/usr/sbin /sestatus-v=======getenforce 查看selinux状态
firewall-cmd --state =====sudo sysytemctl status firewalld
关闭防火墙的命令是 systemctl stop firewalld
systemctl disable firewalld
关闭selinux setenforce 0
永久关闭selinux vim /etc/selinux/config
将SELINUX=enforcing 改为 disabled
网络聚合
cd /etc/sysconfig /network-scripts/ ls 查看网卡是否在
配置网卡 vim ifcfg-ens33 静态 和 动态 检查是否能ping通百度
ping -I ens37 www.baidu.com
cat /boot/config -tab键即可 |grep -i bonding
检查是否可用 值为m就是可用
最好在备份一下 cp 原文件 原文件.bak
网卡模板(所有网卡文件都要修改)
[root@xingdian network-scripts]# vim ifcfg-ens33 BOOTPROTO=none #自动获取 DEVICE=ens33 #网卡名称注意别填错 ONBOOT=yes USERCTL=no #普通用户是否可控制此设备 MASTER=bond0 # 绑定聚合文件ifcfg-bond0 SLAVE=yes
聚合模板文件
[root@xingdian network-scripts]# vi /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0 ONBOOT=yes USERCTL=no BONDING_OPTS="mode=1 miimon=100 fail_over_mac=1" BOOTPROTO=none IPADDR=10.0.0.128 (用自己的ip ) NETMASK=255.255.255.0 (子网掩码) GATEWAY=10.0.0.2(网关) ZONE=public DNS1=114.114.114.114
系统每100ms 监测一次链路连接状态
默认fail_over_mac=0,当发生错误时,只改slave的mac不改bond;fail_over_mac=1时,只改bond不改slave
重启网络服务
[root@xingdian network-scripts]# systemctl restart network
查看绑定情况 ip a
ens37: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond0 state UP qlen 1000 link/ether 00:0c:29:a6:32:2d brd ff:ff:ff:ff:ff:ff
bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000 link/ether 00:0c:29:a6:32:2d brd ff:ff:ff:ff:ff:ff inet 10.0.0.128/24 brd 10.0.0.255 scope global bond0 valid_lft forever preferred_lft forever inet6 fe80::20c:29ff:fea6:322d/64 scope link tentative dadfailed valid_lft forever preferred_lft forever
查看bond0的信息
cat /proc/net/bonding/bond0
注意: 如果没有加载模块,需要加载模块 [root@xingdian ~]# lsmod |grep bonding [root@xingdian ~]# modprobe bonding [root@xingdian ~]# lsmod |grep bonding bonding 152656 0
Mode 0 (balance-rr) 轮转(Round-robin)策略:从头到尾顺序的在每一个slave接口上面发送数据包 Mode 1 (active-backup) 备份(主备)策略:只有一个slave被激活,仅当活动的slave接口失败时才会激活其他slave
验证:
ifdown ens33 down掉bond0绑定的网卡 自动切换到另外一个网卡 开启新的服务器进行访问测试,切换后依然可以访问那说bond成功了
ifup 激活
查看当前服务器路由 ip r = route
查看IP是ifconfig
查看网关是nmc1i con show
查看网卡的DNS cat /etc/resolv.conf
重启网络设置 nmc1i c reload
nmc1i c up ens33
ip r a 添加 目标网络id via 网关ip dev 网卡名 (网关是网卡对应的)
ip r d 删除
开启路由转发功能
临时 echo 1> /proc /sys /net /ipv4/ip -forward
永久 vim /etc/sysctl .conf
net.ipv4.ip_forward =1
sysctl -p 看参数 是否添加成功,使之生效
/etc/sysctl .conf 主配置文件
/etc/sysctl.d 子配置文件
服务
时间服务器
修改主机名 houstnamectl set-hostname 主机名
yum -y install ntp
vi /etc/ntp.config
systemctl start ntpd
客户端与时间服务器同步
采用公共时间服务器,采用自己搭建的时间服务器
时间同步 ntpdate
ntpdate -b ntp.aliyun.com 同步阿里云的的时间服务器
环境准备: 1.修改主机名 hostnamectl set-hostname ntp-server 2.关闭防火墙和selinux systemctl stop firewalld systemctl disable firewalld setenforce 0
二、配置时间服务器 # rpm -qa | grep ntp ntp-4.2.4p8-3.el6.x86_64 yum -y install ntp NTP Server配置示例: # vim /etc/ntp.conf //配置文件全部删掉,只要下面三行 restrict default nomodify //不允许客户端登录,也不允许客户端修改 server 127.127.1.0 //使用本地的bios时间,自己跟自己同步 fudge 127.127.1.0 stratum 10 //定义级别,范围0-16,越小越精准 # systemctl restart ntpd # systemctl enable ntpd
三、配置NTP客户端 yum -y install ntpdate # ntpdate -b 172.16.110.1 //手动时间同步 -b加速初始化同步
常见服务管理操作
[root@xingdian ~]# systemctl list-units [root@xingdian ~]# systemctl list-unit-files [root@xingdian ~]# systemctl start vsftpd //启动服务 [root@xingdian ~]# systemctl status vsftpd //查看服务状态 [root@xingdian ~]# systemctl status vsftpd -l //查看服务详细状态 [root@xingdian ~]# systemctl stop vsftpd //停止服务 [root@xingdian ~]# systemctl restart vsftpd //重启服务 [root@xingdian ~]# systemctl reload vsftpd //重新加载配置文件 [root@xingdian ~]# systemctl enable vsftpd // 做开机启动 [root@xingdian ~]# systemctl disable vsftpd //关闭开机启动 常见的服务名称: httpd mariadb 3306 mysqld 3306 php-fpm 9000 nginx zabbix 10050 10051 rsyslog vsftpd 20 21 端口 ss lsof netstat ss -auntpl | grep vsftpd 可以通过查看端口是否存在来判断服务是否运行 ps aux | grep vsftpd | grep -v grep 可以通过查看进程是否存在来判断服务是否运行
systemctl is-active vsftpd systemctl is-failed vsftpd 可以判断服务是否处于运行状态 systemctl is-enabled firewalld 可以判断服务是否具有开机启动
systemctl daemon-reload
6系统 service vsftpd start/stop 8系统=7
日志
cd /var/log
日志启动服务 systemctl start rsyslog
systemctl status rsyslog 查看日志的状态
配置文件 /etc/rsyslog.conf
日志重要性
日志分类:系统日志,进程日志,应用程序日志 记录日志的用处: 排错,追溯事件,统计流量,审计安全行为 rsyslog:只负责绝大部分日志记录,和系统操作有关,安全,认证,计划任务... 处理分析日志: 1.少量日志使用vim cat tail grep awk这些文档处理程序查看和检索 tailf 2.大量日志可以用splunk、elk [elasticsearch logstash Kibana]
常见系统日志
常见的日志文件(系统、进程、应用程序)
# ls /var/log/ # tail /var/log/messages //系统主日志文件 # tail -f /var/log/messages //动态查看日志文件的尾部 # tail -f /var/log/secure //认证、安全 # tail /var/log/cron //crond、at进程产生的日志 # tail /var/log/yum.log //yum
二进制日志:
# w //当前登录的用户即: /var/log/wtmp日志 # last //最近登录的用户 /var/log/btmp # lastlog //所有用户的登录情况 /var/log/lastlog 进程以自己的方式去记录日志 # tail /var/log/mysqld.log //MySQL进程自己记录的日志 # tail /var/log/httpd/access_log //Apache自己记录的日志 # tail /var/log/xferlog //和访问FTP服务器相关
日志存放位置: 存放本地 /var/log 日志服务启动:systemctl start rsyslog 日志配置文件:/etc/rsyslog.conf
案例1: 统计登录失败top 2 # grep 'Fail' /var/log/secure |awk '{print $11}' |sort |uniq -c|sort -n -r |head -2 366 140.205.225.186 335 140.205.201.44
远程日志
vi /etc/rsyslog.conf
远程日志: 两台机器 一台接收日志 一台发送日志 1.所有机器关闭防火墙和selinux systemctl stop firewalld systemctl disable firewalld setenforce 0 (临时关闭selinux) [root@qf-xingdian ~]# getenforce (查看selinux) Disabled
扩展:永久关闭selinux vim /etc/selinux/config SELINUX=disabled
第二种方法永久关闭selinux sed -i '/^SELINUX=/c SELINUX=disabled' /etc/selinux/config
2.产生日志服务器: vim /etc/rsyslog.conf *.* @10.11.59.91 //注意@:使用udp @@:使用tcp
3.日志收集服务器 vim /etc/rsyslog.conf 修改配置文件打开接收功能 $ModLoad imudp $UDPServerRun 514
4.两台机器重新启动日志服务 systemctl restart rsyslog
5.验证 在产生日志服务器安装一个软件,产生一条日志. 在接收的服务器的messages的日志文件中查看
扩展: [root@qf-sh-cloud ~]# lsof -i:3306
ss -antpl
修改主机名: hostnamectl set-hostname xingdian 关掉终端重新打开一个终端就可以立刻生效
自定义日志
对象. 级别 ; 对象. 级别 /var/log/#
authpriv .* /var/log/secure
local0-local7日志设备的使用: ssh的配置文件:/etc/ssh/sshd_config
例:定义sshd日志: 1.修改sshd服务主配置文件: 将/etc/ssh/sshd_config 的#SyslogFacility AUTHPRIV改为 SyslogFacility local2 SyslogFacility local2 //设置ssh的日志定义由local2设备来记录 2.在rsyslog的主配置文件里加上 local2.info /var/log/ssh 3.重启服务
日志轮转 | 日志切割
防止日志文件太大打不开 时间过长
丢弃旧的日志文件,节省空间
日志文件的轮转不会自动执行,配合计划任务使用
需要 定义一个规则
/etc/logrotate.conf
weekly //轮转的周期,一周轮转
rotate 4 //保留4份 create //轮转后创建新文件 dateext //使用日期作为后缀
missingok 丢失不提醒
notifempty 如果为空,不轮转
size 30k 达到30k 就轮转
create 0600 root root 创建新文件
compress //是否压缩
echo $? 打印上一条文件的返回值
可以自己自定义日志轮转 在子配置文件下新加一个ssh,选择目录添加就好
要想强制启动执行 logrotate -f ssh (/etc/logrotate.conf)