一、记录ping不通,与处理方法。
问题描述:
对端链路 交换机地址IP:192.168.1.101笔记本网线直连对端交换机。配置ip192.168.1.102。 此时去Ping 192.168.1.101是通的.但是新的三层交换机连接对端交换机,vlan90 配置ip 192.168.1.102。access口。掩码30
此时ping 101不通。怎解?
处理方法,关闭新接入交换机的STP。 此时能ping通。以后可以让其长ping 一分钟后看效果。
二、将内容复制到网上fars网站。 (供人查看)
cat /data/nginx/conf/nginx.conf |curl -F "c=@-" "http://fars.ee/"
三、 SNAT 、DNAT图片随记
#(可回顾朱双印老师的防火墙章节)
机器通过SNAT 可以访问外面(baidu)。
通过DNAT,外部可以访问机器里面。
四、rsyslog日志集中管理
#author: 阿劳(Alao)
# 服务端操作 192.168.8.130
# 安装软件包
yum -y install rsyslog# 备份配置文件
cp -avi /etc/rsyslog.conf /etc/rsyslog.conf.bak# 打开4行参数注释
vim /etc/rsyslog.conf# Provides UDP syslog reception
# for parameters see http://www.rsyslog.com/doc/imudp.html
module(load="imudp") # needs to be done just once
input(type="imudp" port="514")# Provides TCP syslog reception
# for parameters see http://www.rsyslog.com/doc/imtcp.html
module(load="imtcp") # needs to be done just once
input(type="imtcp" port="514")# 添加开机启动
systemctl enable rsyslog.service
# 启动服务
systemctl start rsyslog.service# 查看网络监听端口
ss -tunlp | grep rsyslog# 防火墙打开514/tcp、514/udp端口
firewall-cmd --permanent --zone=public --add-port=514/tcp --add-port=514/udp
firewall-cmd --reload
firewall-cmd --list-all#################################################################################
# 客户端操作 192.168.8.131、192.168.8.132
# 安装软件包
yum -y install rsyslog# 备份配置文件
cp -avi /etc/rsyslog.conf /etc/rsyslog.conf.bak# 在文件最后添加两行:
vim /etc/rsyslog.conf
# udp
*.*@192.168.8.130
# tcp
*.*@@192.168.8.130配置2条,正常情况下,日志就会出现两份日志。# 第一行的声明告诉rsyslog守护进程,将系统上各个设备的各种日志消息路由到远程rsyslog服务器(192.168.8.130)的UDP端口514。
# 如果出于某种原因,需要更为可靠的协议,如TCP,rsyslog服务器也可以被配置为监听TCP连接,此时须在远程主机的IP地址前添加一个额外的@字符,如第二行。# 添加开机启动
systemctl enable rsyslog.service
# 启动服务
systemctl start rsyslog.service# 查看与服务端的网络连接
ss -anp | grep rsyslog#################################################################################
# 测试
# 用错误的账号密码ssh登录客户端的服务器
ssh root@192.168.8.131# 在服务端用命令监控日志文件变化,可以看到有登录失败的日志信息打印出来
tail -f /var/log/secureOct 17 23:41:21 Alao132 unix_chkpwd[6480]: password check failed for user (root)
Oct 17 23:41:21 Alao132 sshd[6478]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=192.168.8.1 user=root
Oct 17 23:41:21 Alao132 unix_chkpwd[6480]: password check failed for user (root)
Oct 17 23:41:21 Alao132 sshd[6478]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=192.168.8.1 user=root
五、文档中含有中文格式/windows格式。导致在linux环境执行指令报错 no such file or directory
#这个通常发生在windows环境复制粘贴指令到linux环境上
#根据报错信息可分析出。
#可用 cat -A ,或vim的 set list 查看隐藏字符。 或者dos2unix处理。
-bash: ip route add 192.168.12.0/24 via 192.168.100.77 dev ens33 :no such file or directory
六、服务器 boot failed:windows boot manager
使用wepe制作PE盘,进PE环境引导修复。 查看是否安装操作系统
七、记一次网络故障。 以及测故障思路。
#不写在博客
参考window的word文档 《产业园网络故障(会议室机房机柜跳闸断电)》
八、Windows配置双网络环境
环境:
windows10笔记本,互联网WiFi、专网网口。
操作:
连接互联网WiFi。 网线连接专网网口,配置IP,子网掩码,网关10.xxx.xxx.254,DNS.
cmd(管理员身份运行),配置路由表。
route add 59.xxx.xxx.1 mask 255.255.255.255 10.xxx.xxx.254 -p
route add 59.xxx.xxx.4 mask 255.255.255.255 10.xxx.xxx.254 -p
route add 192.xxx.xxx.x1 mask 255.255.255.255 10.xxx.xxx.254 -p
route add 192.xxx.xxx.x2 mask 255.255.255.255 10.xxx.xxx.254 -p
route print
参考:https://www.cnblogs.com/syj-123/p/14206197.html
九、Windows网络代理与Linux代理 (了解)
Windows的界面:
https://zhuanlan.zhihu.com/p/46973701 《Linux 让终端走代理的几种方法》
https://baijiahao.baidu.com/s?id=1733081444327574530&wfr=spider&for=pc 《多种方法设置curl代理服务器》
十、ping的同时,显示时间(有个延迟显示ping内容现象)
#!/bin/bash
while true;
doping -c 1 www.baidu.com | awk '{print "["strftime("%F %H:%M:%S")"]:"$0}' | grep --color=auto from >> ping.log;#ping www.baidu.com | awk '{print "["strftime("%F %H:%M:%S")"]:"$0}' | grep --color=auto from >> ping.log;sleep 1;
done &#made by Mrqiao
这里有个延迟显示ping内容现象。如果没写-c 1 ,tail -f ping.log时,他不会实时显示ping的内容。会延迟30秒左右,才会打印出这段时间ping的内容。如果在黑窗口外面直接运行 ping www.baidu.com | awk xxxxx 是没有此延迟现象的
此外yuki工程师给出建议,可能是管道缓冲的原因导致的。
但脚本运行下行代码,“延迟现象”依旧。 问题仍待探讨
tdbuf -oL ping www.baidu.com | stdbuf -oL awk '{print "["strftime("%F %H:%M:%S")"]:"$0}' | grep --color=auto from >> ping.log;
参考连接:http://t.zoukankan.com/outsrkem-p-11200697.html 《常用命令–stdbuf》
十一、kubectl exec -it pod-test – /bin/sh 中 – 解释。
在man bash中的解释
-- A -- signals the end of options and disables further option processing. Any arguments after the -- are treated as filenames and arguments. An argument of - is equiv‐alent to --.
#by steven,依文
选项停止,选项至此截止。 ( --表示后面的内容都是命令。 不带--,后面有空格会被认为是下一个参数 )--表示选项的结束,其后的任何参数都被视为文件名和参数,可以做一些特殊操作,比如新建名为”-p”的文件夹。
十二、UOS电脑配置双网络环境
环境:UOS V20系统,PC网线连政务网网口,USB网口连接互联网网口。
#临时生效
route add -net 59.xxx.xxx.1 netmask 255.255.255.255 gw 10.xxx.xxx.254
route add -net 59.xxx.xxx.4 netmask 255.255.255.255 gw 10.xxx.xxx.254
route add -net 192.xxx.xxx.x1 netmask 255.255.255.255 gw 10.xxx.xxx.254
route add -net 192.xxx.xxx.x2 netmask 255.255.255.255 gw 10.xxx.xxx.254#永久生效
nmcli connection modify "内网" +ipv4.routes "59.xxx.xxx.1/32 10.xxx.xxx.254"
nmcli connection modify "内网" +ipv4.routes "59.xxx.xxx.4/32 10.xxx.xxx.254"
nmcli connection modify "内网" +ipv4.routes "192.xxx.xxx.x1/32 10.xxx.xxx.254"
nmcli connection modify "内网" +ipv4.routes "192.xxx.xxx.x2/32 10.xxx.xxx.254"
service network-manager restart#上面modify后面的名称“内网”来源是 ls /etc/NetworkManager/system-connections
参考链接:
https://blog.csdn.net/zhicai_liu/article/details/110366666 《添加永久路由》
十三、备份docker启动的mysql的库
bash backupDB.sh
[root@node-2 shellDir]# cat backupDB.sh
#!/bin/bash
echo '##########################################'
echo '###### The database is automatically backed up at 01:00 am every day ######'
echo '##########################################'
# Setting environment variables
DATE=$(date +%Y_%m_%d_%H_%M_%S)
# $(date +%Y%m%d)
# 数据库用户名
USERNAME=root
# 密码
PASSWORD=123456
# 要备份的数据库
DB=test# Docker容器ID
DOCKERID=3fbd998dcc72#DB1=xxxx
# ubuntu 系统非 root 用户,要将备份产生的文件放到 xxx 用户所在的目录下,否则必须使用 sudo 输入管理员密码执行此脚本。
# Linux服务器上备份文件目录。
DIR=/data/mysqlback
echo 'Get system date: ' $DATEif [ ! -d "$DIR" ]; then
mkdir -p $DIR
fi
cd $DIRecho 'backup started...' $(date "+%Y-%m-%d %H:%M:%S")# 最关键的备份语句
docker exec $DOCKERID /usr/bin/mysqldump -u $USERNAME --password=$PASSWORD $DB | gzip > /data/mysqlback/test_db_$DATE.sql.gz#保留最近文件数5,删除其它多余的文件。
ReservedNum=30
date=$(date "+%Y%m%d-%H%M%S")FileNum=$(ls -l $DIR|grep ^- |wc -l)while(( $FileNum > $ReservedNum))
doOldFile=$(ls -rt $DIR| head -1)echo $date "Delete File:"$OldFilerm -rf $DIR/$OldFilelet "FileNum--"
done echo 'backup completed!' $(date "+%Y-%m-%d %H:%M:%S")
十四、找出当天日期的文件/文件夹,然后scp到目的机器。
#!/bin/bashIFS=$'\n'#看结果数量,不是当日的,他把13日,14日的文件都列出来了。
#scp -r $( find . -maxdepth 1 -type f -ctime 0 ) root@192.168.x.x:/tmp/testFile#这样只需要输入一次密码
scp -r $( find . -maxdepth 1 -type f -newermt "$(date +%Y-%m-%d) 00:00:00" ! -newermt "$(date +%Y-%m-%d) 23:59:59" ) uos@10.240.x.x:/data
#其他写法,但有些缺陷 #如果文件名含有空格,这样会报错。
scp -r $( ls -l --time-style=long-iso | grep $(date +%Y-%m-%d) | awk '{print $NF}' ) root@192.168.x.x:/tmp#密码需要输入次数为传输文件数量。也可处理文件名处理含有空格的情况。
find xx | xargs scp
十五、tcpdump抓包,抓到30MB后生成一个新文件。删除一天前的pcap文件。
nohup bash zhuabao.sh &
版本1
#!/bin/bash#oldTime=$(date +"%Y-%m-%d_%H:%M:%S")for((;;))
dooldTime=$(date +"%Y-%m-%d_%H:%M:%S")dirName=$(date +"%Y-%m-%d")if [ ! -d $dirName ];thenmkdir -p $dirName#else# echo -e " file exist "fi#tcpdump -i any -s 0 -C 30 -w xxx.pcap udpnohup tcpdump -i any -s 0 -w $oldTime.pcap udp &sleep 1800#sleep 10newTime=$(date +"%Y-%m-%d_%H:%M:%S")cp $oldTime.pcap $dirName/$oldTime--$newTime.pcapkill $(pgrep tcpdump)rm -f $oldTime.pcapsleep 1#delete filefind /data/trlh/tcpdumpFile/ -mtime +2 -name "*.pcap" -exec rm -f {} \;
done
版本2
处理问题:
1、之前循环中 kill tcpdump进程,使用wireshark打开时会报The capture file appears to have been cut short in the middle of a packet.2、Windows不支持:符号命名的文件名。 xftp传会帮转换为_号。 sz传报错。3、timeout的期间如果很短,pcap“不会产生任何数据”。 如 timeout 10 tcpdump xxx , sleep 11 后再重命名。但后面发现其实是会产生数据的,比如设置180秒。最好sleep比timeout多一秒,否则他都没结束tcpdump进程,就切割日志了。参考:
https://blog.csdn.net/weixin_43869898/article/details/116056580 《记录一次tcpdump截包,wireshark无法正常打开的问题:关于正常退出tcpdump的方式》https://www.jb51.cc/windows/883516.html 《从服务器上下载文件 提示异常: No permission to write on the specified folder.》
#!/bin/bash#oldTime=$(date +"%Y-%m-%d_%H:%M:%S")for((;;))
dooldTime=$(date +"%Y-%m-%d_%H-%M-%S")dirName=$(date +"%Y-%m-%d")if [ ! -d $dirName ];thenmkdir -p $dirNamefitimeout 180 nohup tcpdump -i any -s 0 -w $oldTime.pcap udp &#sleep 稳妥起见比timeout的180秒多一秒。 sleep 181newTime=$(date +"%Y-%m-%d_%H-%M-%S")cp $oldTime.pcap $dirName/$oldTime--$newTime.pcap#kill $(pgrep tcpdump)rm -f $oldTime.pcap#sleep 1#delete filefind /app/tcpdumpFile/ -mtime +5 -name "*.pcap" -exec rm -f {} \;
done
参考chatgpt