闲者博客 - liunx 2022-03-11T21:22:00+08:00 Typecho https://bk1314.com/feed/atom/tag/liunx/ <![CDATA[LINUX IPTABLES 服务器多IP解决循环出口IP,否则永远是主IP请求别人机器]]> https://bk1314.com/61.html 2022-03-11T21:22:00+08:00 2022-03-11T21:22:00+08:00 飞鱼 http://www.typecho.org 希望:实现对外发送请求时,对方看到我的出口ip每次都是不一样的,多个ip轮训作为出口IP

方案:iptables的nth模块

more

一.查看防火墙状态

 service firewalld status

防火墙状态

(disabled 表明 已经禁止开启启动 enable 表示开机自启,inactive 表示防火墙关闭状态 activated(running)表示为开启状态)

安装iptables防火墙及操作:

yum install iptables-services

常用命令如下:

systemctl start iptables #启动

systemctl status iptables #查看运行状态

systemctl restart iptables.service #重启

systemctl stop iptables.service #停止

systemctl enable iptables.service #设置开机启动

systemctl disable iptables.service #禁止开机启动

iptables -F -t nat #清空nat规则 也就是下面的多IP设置的规则里面

二.查看服务器请求外网IP

curl icanhazip.com

多执行几次看看是不是同一个

三.要多IP服务器循环出口IP

 /sbin/iptables -t nat -I POSTROUTING -m state --state NEW -p tcp -m multiport --dports 80,443 -o eth0 -m statistic --mode nth --every 1 --packet 0 -j SNAT --to-source 122.52.62.33

#解释上面命令意思:
--dports 80,443意思80和443 意思请求别人的这些端口就循环IP
-o eth0 这个是你网卡 出口网卡哦
--every 1 这个数字1是代表第一条IP 如果你输入多次就每次数字叠加
--to-source 122.52.62.33  你多个IP其中一个IP

列如我现在添加第二条
/sbin/iptables -t nat -I POSTROUTING -m state --state NEW -p tcp -m multiport --dports 80,443 -o eth0 -m statistic --mode nth --every 2 --packet 0 -j SNAT --to-source 122.52.62.34

四.执行后记得需要保存

service iptables save

(好了 你可以尝试curl icanhazip.com看看 每次IP都不一样了,注意哦 防火墙需要启动哦)

]]>
<![CDATA[LIUNX rz与sz上传下载文件]]> https://bk1314.com/56.html 2022-03-03T15:47:00+08:00 2022-03-03T15:47:00+08:00 飞鱼 http://www.typecho.org 作中需要在 Linux 完成上传下载操作

sz下载

从Linux下载文件到本机 , 在Linux终端输入命令回车后,选择本地存储路径即可。

格式:

sz filename  下载文件filename
sz file1 file2  下载多个文件
sz dir/*   下载dir目录下所有文件

rz上传

从本地上传文件到 Linux,在Linux终端(xshell)输入命令回车后,选择本地要上传的文件即可,可一次指定多个文件

格式:

rz

注意:

如果Linux上没有安装过 lrzsz 安装包,则无法使用rz和sz命令.

可使用yum命令安装:yum install -y lrzsz

]]>
<![CDATA[liunx centos yum update kernel 命令方法]]> https://bk1314.com/54.html 2022-03-03T01:43:00+08:00 2022-03-03T01:43:00+08:00 飞鱼 http://www.typecho.org 1.查看当前kernel版本

uname -r

2.查看已安装版本

rpm -q kernel

3.查看可升级kernel版本

yum list kernel

4.升级kernel版本

yum update kernel

5.删除旧的内核

方法一:安装yum-utls:

yum install -y yum-utils

设置你想要保留多少旧的内核,比如我想保留两个:

sudo package-cleanup --oldkernels --count=2

方法二:直接删除对应版本

rpm -e kernel-*

6.设置永久的内核安装数量

vim /etc/yum.conf

设置installonly_limit=2,2为数量

7.服务器重启后,使用前几步查看的信息会变为新的kernel版本信息

[post cid="53" /]

[post cid="52" /]

]]>
<![CDATA[通过yum-cron对linux自动进行安全更新]]> https://bk1314.com/52.html 2022-03-03T01:26:00+08:00 2022-03-03T01:26:00+08:00 飞鱼 http://www.typecho.org 通过yum-cron对Linux进行安全更新
使用yum-cron可以定时的更新我们的系统。特别是针对于系统的安全更新。如果有一些同学认为更新系统需要手动来,或者不确定更新会影响到运行的服务,可以手动来,或者使用ansible等工具批量操作。
在这里,来配置一下yum-cron这个工具。

安装

yum install yum-cron

配置
You need to edit /etc/yum/yum-cron.conf and /etc/yum/yum-cron-hourly.conf files using a text editor such as vi command:
yum-cron有两个配置文件:/etc/yum/yum-cron.conf 和 /etc/yum/yum-cron-hourly.conf。这两个配置文件内容差不多,用于配置每天需要执行的内容和每小时需要执行的内容。

在配置文件中,提供的更新策略为:

#  What kind of update to use:
# default                            = yum upgrade
# security                           = yum --security upgrade
# security-severity:Critical         = yum --sec-severity=Critical upgrade
# minimal                            = yum --bugfix update-minimal
# minimal-security                   = yum --security update-minimal
# minimal-security-severity:Critical =  --sec-severity=Critical update-minimal

default 默认的更新,类似yum update
security 安全更新, 类似yum --secruity upgrade
security-severity:Critical 重要的安全更新,类似yum --sec-severity=Critical upgrade
minimal 最小化更新,类似yum --bugfix update-minimal
minimal-security 最小化安全更新,类似yum --security update-minimal
minimal-security-severity:Critical 最小化重要安全更新,类似yum --sec-severity=Critical update-minimal

通过update-cmd指定相应的更新策略。
如: 需要配置只需要更新重要的安全更新,则配置为

update_cmd = security-severity:Critical

apply_updates设置是否提交相应的安全更新,如果设置为no,则只会检测存在更新,但不会直接更新,如要自动更新,需将apply_updates设置为yes

apply_updates = yes

random_sleep设置最大的随机启动时间,设置随机启动是为了解决大量服务器同时启动更新,对服务器环境造成影响。(考虑的很周到呢,不同于我们通过crontab设置一个固定的时间进行更新)
random_sleep的时间单位为秒。
系统默认设置为6*60 = 360,即6小时:

random_sleep = 360

在生产环境,我们通常不愿意去更新系统的内核,那么,通过exclude和YUM_PARAMETER可以将内核类的更新排除掉.
在CentOS/RHEL 7.x系统中,commands配置里最底下加入下面内容排除:

exclude=kernel*

在RHEL/CentOS 6.x系统中,加入以下内容排除:

YUM_PARAMETER=kernel*

配置参考:

[root@ttt yum]# cat yum-cron.conf | grep -vE '^#|^$'
[commands]
update_cmd = security-severity:Critical
update_messages = yes
download_updates = yes
apply_updates = yes
random_sleep = 360
exclude=kernel*
[emitters]
system_name = None
emit_via = stdio
output_width = 80
[email]
email_from = root@localhost
email_to = root
email_host = localhost
[groups]
group_list = None
group_package_types = mandatory, default
[base]
debuglevel = -2
mdpolicy = group:main

配置完成后,需要配置 /etc/yum/yum-cron-hourly.conf 让yum-cron每小时都执行。如果需要让yum-cron每天执行一次,需要配置/etc/cron.daily/0yum-daily.cron。

[root@ttt yum]# cat /etc/cron.hourly/0yum-hourly.cron 
#!/bin/bash

# Only run if this flag is set. The flag is created by the yum-cron init
# script when the service is started -- this allows one to use chkconfig and
# the standard "service stop|start" commands to enable or disable yum-cron.
if [[ ! -f /var/lock/subsys/yum-cron ]]; then
  exit 0
fi

# Action!
exec /usr/sbin/yum-cron /etc/yum/yum-cron-hourly.conf
[root@ttt yum]# cat /etc/cron.daily/0yum-daily.cron
#!/bin/bash
 
# Only run if this flag is set. The flag is created by the yum-cron init
# script when the service is started -- this allows one to use chkconfig and
# the standard "service stop|start" commands to enable or disable yum-cron.
if [[ ! -f /var/lock/subsys/yum-cron ]]; then
  exit 0
fi
 
# Action!
exec /usr/sbin/yum-cron

以上就是yum-cron的大概的配置信息。如果需要查看更详细的,可以通过系统的man命令。
[root@ttt yum]# man yum-cron

[post cid="53" /]

[post cid="54" /]

]]>
<![CDATA[liunx之间互相传输文件命令支持断点rsync]]> https://bk1314.com/22.html 2022-02-23T22:09:00+08:00 2022-02-23T22:09:00+08:00 飞鱼 http://www.typecho.org rsync -rP --rsh=ssh --bwlimit=2000 /data/backup/site/www.fyvps.cn.zip [email protected]:/www/wwwroot/www.fyvps.cn

上面命令解释
--bwlimit=2000 //限速2000字节
/data/backup/site/www.fyvps.cn.zip r//本机需要传输的文件地址
root//远程机器的用户名
192.168.1.1//远程机器的IP
/www/wwwroot/www.fyvps.cn//需要传输到的远程机器目录
执行上面命令后需要输入yes/no 输入yes 然后password是远程机器的密码
本命令支持断点续传

]]>
<![CDATA[win或liunx或本机修改host 路径和方式]]> https://bk1314.com/17.html 2022-02-23T17:30:00+08:00 2022-02-23T17:30:00+08:00 飞鱼 http://www.typecho.org 一.win机器

win+R打开输入框 输入 %systemroot%/system32/drivers/etc/
然后hosts文件就是如果没有就创建个hosts文件 [注意:无任何后缀]
打开文件尾部添加:
格式: IP 域名
或: IP  域名1 域名2  域名3
注意:空格哦输入IP后需要空格

二.liunx机器

/etc/hosts 这个路径

1.多域名同IP方式批量添加命令

echo "103.179.243.14 api.bt.cn www.bt.cn bt.cn download.bt.cn dg1.bt.cn dg2.bt.cn" >> /etc/hosts

2.单域名单IP添加命令

echo "103.179.243.14  www.bt.cn" /etc/hosts

3.清空/etc/hosts文件里的bt.cn域名指定ip的配置

sed -i "/bt.cn/d" /etc/hosts
]]>
<![CDATA[linux 批量查找或替换文件内容]]> https://bk1314.com/15.html 2022-02-23T17:21:00+08:00 2022-02-23T17:21:00+08:00 飞鱼 http://www.typecho.org 1.批量查找某个目下文件的包含的内容,例如:

grep -rn "要找查找的文本" ./

2.批量查找并替换文件内容。

sed -i "s/要找查找的文本/替换后的文本/g" `grep -rl "要找查找的文本" ./`

资料库

[scode type="share"]

1、网络上现成的资料
  格式: sed -i "s/查找字段/替换字段/g" grep 查找字段 -rl 路径

  linux sed 批量替换多个文件中的字符串

  sed -i "s/oldstring/newstring/g" grep oldstring -rl yourdir

  例如:替换/home下所有文件中的www.fyvps.cn为fyvps.cn

  sed -i "s/www.fyvps.cn/fyvps.cn/g" grep www.fyvps.cn -rl /home

  exp:sed -i "s/shabi/$/g" grep shabi -rl ./

2、自己额外附加

  2.1 将文件1.txt内的文字“garden”替换成“mirGarden”

  # sed -i "s/garden/mirGarden/g" 1.txt //sed -i 很简单

  2.2 将当前目录下的所有文件内的“garden”替换成“mirGarden”

  ## sed -i "s/garden/mirGarden/g" ls //其实也就是ls出多个文件名而已

[/scode]

]]>
<![CDATA[liunx查询大文件方法]]> https://bk1314.com/9.html 2022-02-23T16:10:00+08:00 2022-02-23T16:10:00+08:00 飞鱼 http://www.typecho.org du -sh /www/*

[scode type="yellow"]依次目录叠加[/scode]

du -sh /www/wwwroot/*

这样 就可以排查出哪个文件占用磁盘

]]>