一、批量域名解析

说明:批量域名进行域名解析,返回解析结果。

1、创建域名文档
创建要批量解析测试的域名,名称为 domainname.txt 。
注意:名称为一定要为domainname.txt,并且个脚本在同一个路径下。
域名文档内容根据情况进行填写,示例如下:

1
2
3
baidu.com
whbblog.cn
aaa.com

2、创建脚本
3、执行脚本
在执行脚本时一定要使用 -d 参数 ,后面跟要进行域名解析的 DNS 服务器,示例如下:

1
bash script_name.sh -d 192.168.1.1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#!/bin/bash

#Author:Hongbao Wang
#Date:2021/12/07
#Description:This script performs batch domain name resolution.

function resolve(){
suss=0
fail=0
for dn in $(cat domainname.txt)
do
nslookup ${dn} -timeout=1 $OPTARG >/dev/null 2>&1
if [ $? == 0 ]
then
echo "${dn} resolve Succeeded!"
((suss++))
else
echo "${dn} resolve Failed!"
((fail++))
fi
done
echo "----------------------------------------------"
echo "DNS Resolve Finish, Success : $suss , Failed : $fail"

}

function usage(){
echo "Usage: -d <dns resolve address> : Input DNS resolve address"
echo "Example : $0 -d 192.168.1.1"
}

nargs=$#
if [ $nargs -eq 0 ] ; then
usage
fi

while getopts ":d:" OPT &> /dev/null ;do
case $OPT in
d)
resolve $OPTARG;;
*)
echo "Parameter input error!"
usage
exit 1;;
esac
done

二、F5 SNAT Pool 成员流量组切换

实现目的:将 SNAT Pool 中的成员从 traffic-group-1 变更到 traffic-group-2。
需要根据情况手动变更以下位置,
SNAT Pool Name:test_snatpool
Traffic-group:traffic-group-2
tab名字为第一个Tab

1
for snatpool_member in `tmsh list ltm snatpool test_snatpool members | grep -E '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}|:'|awk '{print $1}'`;do tmsh modify ltm snat-translation ${snatpool_member} traffic-group traffic-group-2;[[ $? -eq 0 ]] && echo "$snatpool_member --> Success " || "$snatpool_member --> Failed";done

三、F5 批量增加处理 Partition 中 pool 中 poolmember

在 partition dmz_partition 下 pool dmz_pool 中 增加 10.252.55.144%2:7058 10.252.55.145%2:7058 10.252.55.148%2:7058 三个新成员。

需要修改配置如下:
dmz_partition : partition名称
dmz_pool : pool 名称
%2 : domain id
144 145 148 : 变量,在下面$i进行调用

1
for i in 144 145 148 ; do tmsh modify ltm pool /dmz_partition/dmz_pool members add { 10.252.55.$i%2:7058 { address 10.252.55.$i%2 } } ; done

四、CentOS 7 部署 FTP 服务器


该脚本用于自动部署 FTP 服务,并添加用户,如果需要添加多个用户,可以多次执行脚本。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# /bin/bash
# File : install_ftp.sh
# Time : 2023/03/02 11:16:00
# Author : whb
# Version : 0.1
# License : (C)Copyright 2021-2023, MIT
# Desc : CentOS Auto Install FTP Server

# 开始
echo "************************************************"

# 安装 FTP 服务
yum -y install vsftpd

# 创建FTP用户
read -p "请输入新建ftp用户名:" username
read -p "请输入新建ftp密码:" pwd

useradd $username
echo "${pwd}" | passwd --stdin $username
echo $username >> /etc/vsftpd/user_list

# 不允许匿名用户写操作
sed -i 's/anon_other_write_enable=YES/#anon_other_write_enable=YES/g' /etc/vsftpd/vsftpd.conf
# 不允许匿名用户上传文件
sed -i 's/anon_upload_enable=YES/#anon_upload_enable=YES/g' /etc/vsftpd/vsftpd.conf


cat >> /etc/vsftpd/vsftpd.conf <<EOF
# 登录白名单
userlist_enable=YES
userlist_deny=NO
# 禁用 dns 解析
reverse_lookup_enable=NO
# 配置本地根路径
local_root=/var/ftp/pub
EOF

# 关闭防火墙及 selinux
systemctl stop firewalld;systemctl disable firewalld
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
getenforce

# 开启FTP
systemctl enable vsftpd
systemctl start vsftpd

# 创建测试文件
echo "test" > /var/ftp/pub/test.txt

# 结束
echo "******************ftp安装完成,请切记以下信息*******************"
echo "用户名:$username"
echo "密码:$pwd"
echo "端口:21"

image-20230302133625527

image-20230302133642382