-
centos7 防火墙限制ip访问
CentOS 7默认使用的防火墙是firewalld,要限制IP访问需要进行以下步骤: 防火墙必须是开启的 systemctl start firewalld 1. 查看已有规则 在终端输入以下命令: firewall-cmd --list-all 这会输出当前防火墙的所有规则。 2. 创建新的规则 假设我们要禁止IP地址为192.168.0.1的主机访问本机,可以通过以下命令创建规则: # firewall-cmd --add-rich-rule='rule family=ipv4 source address=192.168.0.1 reject' # 删除 firewall-cmd --remove-rich-rule='rule family=ipv4 source address=10.6.8.176 reject' 其中,rich rule 是一种在firewalld中比较灵活的规则配置方式。上述命令的含义是: family=ipv4 :指定IPv4协议。 source address=192.168.0.1 :指定源IP地址为192.168.0.1。 reject:拒绝连接。也可以使用drop让连接超时。 3. 永久保存规则 当前规则只是在运行时生效,不会永久保留。为了让规则永久生效,需要使用以下命令将规则存储到防火墙的数据库中: firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=192.168.0.1 reject' 以上命令将规则添加到了permanent区域,表示该规则会在重启后依然保留。如果要删除某个规则,可以使用类似的命令: firewall-cmd --permanent --remove-rich-rule='rule family=ipv4 source address=192.168.0.1 reject' 4. 重载防火墙 为了让上述修改生效,还需重载防火墙配置: firewall-cmd --reload 至此,防火墙就完成了IP地址限
SE_Meng 2024-05-21188 0 1 -
Linux 静态库和动态库
Linux 静态库和动态库 1. 静态库 1.1 静态库的概念 1.2 静态库的特点 1.3 制作静态库 2. 动态库 2.1 动态库的概念 2.2 动态库的特点 2.3 制作动态库 动态库优点: 在实际开发中,我们把通用的函数和类分文件编写,称之为库。在其它的程序中,可以使用库中的函数和类。 一般来说,通用的函数和类不提供源代码文件(安全性、商业机密),而是编译成二进制文件。 库的二进制文件有两种:静态库和动态库。 1. 静态库 1.1 静态库的概念 程序在编译时会把库文件的二进制代码链接到目标程序中,这种方式称为静态链接。 如果多个程序中用到了同一静态库中的函数或类,就会存在多份拷贝。 1.2 静态库的特点 静态库的链接是在编译时期完成的,执行的时候代码加载速度快。 目标程序的可执行文件比较大,浪费空间。 程序的更新和发布不方便,如果某一个静态库更新了,所有使用它的程序都需要重新编译。 1.3 制作静态库 制作一个简单的静态库: 第一步:先创建以下目录结构,具体方法可以参考Linux 文件夹常用命令(创建、删除、移动、重命名),这篇文章在介绍文件夹相关命令时建立了如下目录结构。 其中 demo01.cpp代码: #include "/home/test/tools/public.h" // 包含通用函数和类的头文件。 using namespace std; int main() { func(); // 调用通用的函数。 AA a; // 用通用类声明对象。 a.show(); // 调用对象的方法。 } public.cpp 代码: // 通用函数和类的代码实现文件。 #include "public.h" using namespace std; // 通用函数的代码实现。 void func() { cout << "升级了调用了func()函数。\n"; } // 通用类的代码实现。 void AA::show() { cout << "我是大帅逼_更新版本。\n"; } public.h 代码: // 通用函数和类的头文件。 ……
SE_Gai 2024-05-2010 0 0 -
CENTOS 7 添加黑名单禁止IP访问服务器
一、通过 firewall 添加单个黑名单 只需要把ip添加到 /etc/hosts.deny 文件即可,格式 sshd:$IP:deny vim /etc/hosts.deny # 禁止访问 sshd:*.*.*.*:deny # 允许的访问 sshd:.*.*.*:allow sshd:.*.*.*:allow 二、多次失败登录即封掉IP,防止暴力破解的脚本(超过5次的就加到黑名单) 2.1,编写脚本 # 创建目录 mkdir -p /data/blacklist # 创建脚本文件 vim /data/blacklist/secure_ssh.sh # 复制下边代码 #! /bin/bash cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}' > /data/blacklist/black.txt for i in `cat /data/blacklist/black.txt` do IP=`echo $i |awk -F= '{print $1}'` NUM=`echo $i|awk -F= '{print $2}'` if [ $NUM -gt 5 ];then grep $IP /etc/hosts.deny > /dev/null if [ $? -gt 0 ];then echo "sshd:$IP:deny" >> /etc/hosts.deny fi fi done # 脚本文件改变权限 chmod 777 /data/blacklist/secure_ssh.sh 2.2,创建记录登录失败次数的文件 touch /data/blacklist/black.txt 2.3,添加定时 5分钟执行一次 # 编辑 crontab 文件 vim /etc/crontab # 添加以下配置 */5 * * * * root /data/blacklist/secure_ssh.sh 2.4,测试 ssh登录自己的服务器 ssh **.**.**.** 2.5,查看黑名单列表是否记录 cat /data/blacklist/black.txt 2.6,查看黑名单列表看是否添加进去了 cat /etc/hosts.deny
SE_Meng 2024-05-2033 0 0 -
Linux禁止ping以及开启ping的方法
https://zhuanlan.zhihu.com/p/323291321 今天浏览一个网站,本着好奇的心态ping一下,发现不管是ping域名和IP都是不通的。这就比较郁闷了,后来百度后知道原来服务器是可以设置禁止ping的,看来是我孤陋寡闻了,接下来给大家分享一下服务器如何禁止ping。 Linux默认是允许Ping响应的,系统是否允许Ping由2个因素决定的 : A、内核参数,B、防火墙,需要2个因素同时允许才能允许Ping,2个因素有任意一个禁Ping就无法Ping。 具体的配置方法如下: A、内核参数设置 1、禁止ping设置 1.1、临时禁止ping命令如下所示(如果想要临时允许的话只需要把下面的1换成0即可) echo 1 >/proc/sys/net/ipv4/icmp_echo_ignore_all 1.2、永久禁止ping命令如下所示(如果想要永久允许的话只需要把下面的1换成0即可) 在/etc/sysctl.conf文件中增加一行: net.ipv4.icmp_echo_ignore_all=1(修改完成后执行sysctl -p使新的配置生效)、 2、下图是我使用本地服务器做的测试,可以看到当我配置了禁止ping之后,就无法ping通了。 B、防火墙设置(注意:此处的方法的前提使内核配置是默认值,也就是没有禁止ping) 这里以iptables防火墙为例,其他防火墙操作方法自行百度。 1、允许ping设置 iptables -A INPUT -p icmp –icmp-type echo-request -j ACCEPT iptables -A OUTPUT -p icmp –icmp-type echo-reply -j ACCEPT 或者可以临时停止防火墙操作。 service iptables stop 2、禁止ping设置 iptables -A INPUT -p icmp –icmp-type 8 -s 0/0 -j DROP
SE_Gao 2024-05-17156 0 0 -
Centos配置网卡命令
cd /etc/sysconfig/network-scripts/ cd 切换当前目录 /etc/sysconfig/network-scripts/ 网卡配置文件目录 ls 列出指定目录下的文件和目录信息 vi ifcfg-xxx vi 文本编辑器 i 键插入模式编辑文本。 按 Esc 键回到命令模式。 在命令模式下: :w 保存 :q 退出 :wq 保存并退出。 :q! 不保存强制退出。 dd 可删除一行。 “ifcfg-xxx” 目录下的网络接口配置文件 TYPE="Ethernet":表示网络类型是以太网。 DEFROUTE="yes":表示这是默认路由。 DEVICE=eth0:指定网络设备名称。 ONBOOT=yes:表示系统启动时是否自动激活该网络接口。 BOOTPROTO=static:表示静态 IP 配置方式。 NM_CONTROLLED=no:表示不受网络管理器控制。 PEERDNS=no:表示不使用从 DHCP 服务器获取的 DNS 信息。 IPADDR=xxx.xxx.xxx.xxx:设置接口的 IP 地址。 NETMASK=xxx.xxx.xxx.xxx:子网掩码。 GATEWAY=xxx.xxx.xxx.xxx:网关地址。 ———————————————— 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 原文链接:https://blog.csdn.net/weixin_53314015/article/details/138824247 ———————————————— 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 原文链接:https://blog.csdn.net/weixin_53314015/article/details/138824247
SE_Gai 2024-05-1715 0 0 -
Linux 系统查看网卡配置信息
https://blog.csdn.net/piaoranyuji/article/details/113735345#:~:text=1%20ifconfig%20-a%EF%BC%9A%E6%9F%A5%E7%9C%8B%E6%89%80%E6%9C%89%E7%BD%91%E5%8D%A1%E4%BF%A1%E6%81%AF%EF%BC%8C%E7%BB%93%E6%9E%9C%E5%A6%82%E4%B8%8A%E6%89%80%E7%A4%BA%E3%80%82%202,ifconfig%20eth0%EF%BC%9A%E6%9F%A5%E7%9C%8B%E5%85%B7%E4%BD%93%E7%BD%91%E5%8D%A1%20eth0%20%E7%9A%84%E4%BF%A1%E6%81%AF Linux 系统查看网卡配置,有几种方式,分述如下。 方法一:ifconfig 命令查看设置网卡 ifconfig:查看所有活动网卡信息,能查看 IP 地址和子网掩码,但是不能查看网关和 DNS 地址,还可以临时设置某一网卡的 IP 地址和子网掩码。 [root@cloudgw ~]# ifconfig eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 172.19.243.202 netmask 255.255.240.0 broadcast 172.19.255.255 ether 00:16:3e:04:2c:c4 txqueuelen 1000 (Ethernet) RX packets 387660324 bytes 226790748853 (211.2 GiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 328446865 bytes 259013344959 (241.2 GiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 loop txqueuelen 1 (Local Loopback) RX packets 249981451 bytes 195165066686 (181.7 GiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 249981451 bytes 195165066686 (181.7 GiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 e……
SE_Gao 2024-05-1626 0 0 -
日常工作问题解决:centos7下配置网卡以及查询网卡UUID
https://www.cnblogs.com/yj411511/p/11582229.html 1、配置网卡 1.1 网卡查看命令:ifconfig -a [root@centos7-127 ~]# ifconfig -a ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 # 网卡1 inet 192.168.87.127 netmask 255.255.255.0 broadcast 192.168.87.255 # 信息以此为ip地址、网关、广播地址 inet6 fe80::514a:417d:208:cef9 prefixlen 64 scopeid 0x20<link> ether 00:0c:29:05:94:ac txqueuelen 1000 (Ethernet) RX packets 19263 bytes 21054999 (20.0 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 4260 bytes 385270 (376.2 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 ens37: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 # 网卡2 inet 192.168.100.1 netmask 255.255.255.0 broadcast 192.168.100.255 inet6 fe80::f50c:c73b:7964:13d8 prefixlen 64 scopeid 0x20<link> ether 00:0c:29:05:94:b6 txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 242 bytes 22731 (22.1 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets 127 bytes 12148 (11.8 KiB) RX errors 0 dropped 0 overruns 0 frame 0 ……
SE_Gao 2024-05-15538 0 0 -
linux vim常用的工作模式
一、命令模式 命令模式下的命令 插入/编辑模式 末行模式 二、V模式 三、意外关闭产生的交换文件
SE_Zhang 2024-05-156 0 0 -
windows蓝屏0x0000006F报错
故障分析: 这个错误通常出现在 Windows 启动时, 一般是由于有问题的驱动程序或损坏的系统文件引起的。 解决方案: 1、如果是第一次出现,请重新启动电脑看是否正常; 2、如果添加了硬件,请移除,请小心插拔;如果新安装或升级驱动,请禁用或卸载; 3、如果计算机无法正常启动,应尝试以“最后一次的正确配置”或“安全模式”启动,然后删除或禁用新近添加的程序或驱动程序; 4、如果上述方法无效,建议使用 Windows 安装光盘对系统进行修复; 5、如果依然没有解决,建议备份重要数据尝试恢复系统或者重新安装系统,并安装正确的各设备驱动程序。
SE_Zhang 2024-05-1410 0 0 -
【转载】三分钟告诉你MBR和GPT的区别,选择适合自己的
最近很多对电脑不太熟悉的人问我MBR和GPT还有uefi究竟是什么东西,怎么选择?为什么我安装系统的时候会出现硬盘格式?下边我先简单介绍下mbr和gpt的问题。 MBR分区 MBR的意思是“主引导记录”,是IBM公司早年间提出的。它是存在于磁盘驱动器开始部分的一个特殊的启动扇区。这个扇区包含了已安装的操作系统系统信息,并用一小段代码来启动系统。如果你安装了Windows,其启动信息就放在这一段代码中——如果MBR的信息损坏或误删就不能正常启动Windows,这时候你就需要找一个引导修复软件工具来修复它就可以了。Linux系统中MBR通常会是GRUB加载器。MBR。当一台电脑启动时,它会先启动主板自带的BIOS系统,bios加载MBR,MBR再启动Windows,这就是mbr的启动过程。 GPT分区 GPT的意思是GUID Partition Table,即“全局唯一标识磁盘分区表”。他是另外一种更加先进新颖的磁盘组织方式,一种使用UEFI启动的磁盘组织方式。最开始是为了更好的兼容性,后来因为其更大的支持内存(mbr分区最多支持2T的磁盘),更多的兼容而被广泛使用,特别是苹果的MAC系统全部使用gpt分区。gtp不在有分区的概念,所有CDEF盘都在一段信息中存储。可以简单的理解为更先进但是使用不够广泛的技术。 两者区别 因为兼容问题,gpt其实在引导的最开始部分也有一段mbr引导,也叫做“保护引导”,为了防止设备不支持uefi 区别内存支持:mbr最多支持2T,而gpt理论上是无限制的。 分区:mbr最多支持四个主分区,gpt没有限制。如果你想跑多系统,mbr最多4个而gpt没有限制。 系统:win7只能用mbr分区(也可以但是很麻烦,不建议,下篇文章教你GPT分区安装win7),从Win8开始微软建议你使用gpt。 其它:gpt是由uefi启动的,而uefi是后来才提出的概念,兼容性和稳定性不如bios+mbr。 如何选择 如果你的硬盘超过2T,那么你必须选择GPT+UEFI,2t以下就无所谓了; 如……
SE_Ning 2024-05-1437 0 0