Linux随记(四)

一、记录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/secure

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
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; 
do
	    ping -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: ' $DATE

if [ ! -d "$DIR" ]; then
mkdir -p $DIR
fi
cd $DIR

echo '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))
do
    OldFile=$(ls -rt $DIR| head -1)
    echo  $date "Delete File:"$OldFile
    rm -rf $DIR/$OldFile
    let "FileNum--"
done 

echo 'backup completed!' $(date "+%Y-%m-%d %H:%M:%S")

十四、找出当天日期的文件/文件夹,然后scp到目的机器。

#!/bin/bash

IFS=$'\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((;;))
do
        oldTime=$(date  +"%Y-%m-%d_%H:%M:%S")
        dirName=$(date  +"%Y-%m-%d")
        if [ ! -d $dirName ];then
		 mkdir -p $dirName
	    #else
	    #	 echo -e " file exist "
	    fi
        
        #tcpdump -i any -s 0 -C 30 -w xxx.pcap udp
        nohup tcpdump -i any -s 0  -w $oldTime.pcap udp &

	sleep 1800
	#sleep 10
	newTime=$(date  +"%Y-%m-%d_%H:%M:%S")
	cp $oldTime.pcap $dirName/$oldTime--$newTime.pcap

	kill $(pgrep tcpdump)
	rm -f $oldTime.pcap
	sleep 1


	#delete file
	find /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((;;))
do
        oldTime=$(date  +"%Y-%m-%d_%H-%M-%S")
        dirName=$(date  +"%Y-%m-%d")
        if [ ! -d $dirName ];then
		 mkdir -p $dirName
	fi

        timeout 180 nohup tcpdump -i any -s 0  -w $oldTime.pcap udp &
    
    #sleep 稳妥起见比timeout的180秒多一秒。 
	sleep 181
	newTime=$(date  +"%Y-%m-%d_%H-%M-%S")
	cp $oldTime.pcap $dirName/$oldTime--$newTime.pcap

	#kill $(pgrep tcpdump)
	rm -f $oldTime.pcap
	#sleep 1


	#delete file
	find /app/tcpdumpFile/ -mtime +5 -name "*.pcap" -exec rm -f {} \;
done

参考chatgpt
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值