首页
留言
导航
统计
Search
1
追番推荐!免费看动漫的网站 - 支持在线观看和磁力下载
2,508 阅读
2
推荐31个docker应用,每一个都很实用
1,311 阅读
3
PVE自动启动 虚拟机 | 容器 顺序设置及参数说明
931 阅读
4
一条命令,永久激活!Office 2024!
618 阅读
5
优选 Cloudflare 官方 / 中转 IP
489 阅读
默认分类
服务器
宝塔
VPS
Docker
OpenWRT
Nginx
群晖
前端编程
Vue
React
Angular
NodeJS
uni-app
后端编程
Java
Python
SpringBoot
SpringCloud
流程引擎
检索引擎
Linux
CentOS
Ubuntu
Debian
数据库
Redis
MySQL
Oracle
虚拟机
VMware
VirtualBox
PVE
Hyper-V
计算机
网络技术
网站源码
主题模板
登录
Search
标签搜索
Java
小程序
Redis
SpringBoot
docker
Typecho
Cloudflare
docker部署
虚拟机
WordPress
群晖
uni-app
CentOS
Vue
Java类库
Linux命令
防火墙配置
Mysql
脚本
Nginx
微醺
累计撰写
264
篇文章
累计收到
11
条评论
首页
栏目
默认分类
服务器
宝塔
VPS
Docker
OpenWRT
Nginx
群晖
前端编程
Vue
React
Angular
NodeJS
uni-app
后端编程
Java
Python
SpringBoot
SpringCloud
流程引擎
检索引擎
Linux
CentOS
Ubuntu
Debian
数据库
Redis
MySQL
Oracle
虚拟机
VMware
VirtualBox
PVE
Hyper-V
计算机
网络技术
网站源码
主题模板
页面
留言
导航
统计
搜索到
7
篇与
的结果
2024-10-19
apt 和 apt-get的区别
前言在开始对比 apt 与 apt-get 命令的区别之前,我们先来看看这两个命令的背景,以及它们要试图达到的目的。Debian 作为 Ubuntu、Linux Mint 和 elementary OS 等 Linux 操作系统的母板,其具有强健的 「包管理」 系统,它的每个组件和应用程序都内置在系统中安装的软件包中。Debian 使用一套名为 Advanced Packaging Tool(APT) 的工具来管理这种包系统,不过请不要把它与 apt 命令混淆,它们之间是其实不是同一个东西。在基于 Debian 的 Linux 发行版中,有各种工具可以与 APT 进行交互,以方便用户安装、删除和管理的软件包。apt-get 便是其中一款广受欢迎的命令行工具,另外一款较为流行的是 Aptitude 这一命令行与 GUI 兼顾的小工具。如果你已阅读过我们的 apt-get 命令指南,可能已经遇到过许多类似的命令,如 apt-cache、apt-config 等。如你所见,这些命令都比较低级又包含众多功能,普通的 Linux 用户也许永远都不会使用到。换种说法来说,就是最常用的 Linux 包管理命令都被分散在了 apt-get、apt-cache 和 apt-config 这三条命令当中。apt 命令的引入就是为了解决命令过于分散的问题,它包括了 apt-get 命令出现以来使用最广泛的功能选项,以及 apt-cache 和 apt-config 命令中很少用到的功能。在使用 apt 命令时,用户不必再由 apt-get 转到 apt-cache 或 apt-config ,而且 apt 更加结构化,并为用户提供了管理软件包所需的必要选项。简单来说就是:apt = apt-get、apt-cache 和 apt-config 中最常用命令选项的集合。虽然 apt 与 apt-get 有一些类似的命令选项,但它并不能完全向下兼容 apt-get 命令。也就是说,可以用 apt 替换部分 apt-get 系列命令,但不是全部。apt 命令取代的命令命令的功能apt installapt-get install安装软件包apt removeapt-get remove移除软件包apt purgeapt-get purge移除软件包及配置文件apt updateapt-get update刷新存储库索引apt upgradeapt-get upgrade升级所有可升级的软件包apt autoremoveapt-get autoremove自动删除不需要的包apt full-upgradeapt-get dist-upgrade在升级软件包时自动处理依赖关系apt searchapt-cache search搜索应用程序apt showapt-cache show显示装细节当然,apt 还有一些自己的命令:新的apt命令命令的功能apt list列出包含条件的包(已安装,可升级等)apt edit-sources编辑源列表需要大家注意的是: apt 命令也还在不断发展, 因此,你可能会在将来的版本中看到新的选项。apt-get已弃用?目前还没有任何 Linux 发行版官方放出 apt-get 将被停用的消息,至少它还有比 apt 更多、更细化的操作功能。对于低级操作,仍然需要 apt-get。我应该使用 apt 还是 apt-get ?既然两个命令都有用,那么我该使用 apt 还是 apt-get 呢?作为一个常规 Linux 用户,系统极客建议大家尽快适应并开始首先使用 apt。不仅因为广大 Linux 发行商都在推荐 apt,更主要的还是它提供了 Linux 包管理的必要选项。最重要的是,apt 命令选项更少更易记,因此也更易用,所以没理由继续坚持 apt-get。小结最后结大家提供两点使用上的建议:apt 可以看作 apt-get 和 apt-cache 命令的子集, 可以为包管理提供必要的命令选项。apt-get 虽然没被弃用,但作为普通用户,还是应该首先使用 apt。
2024年10月19日
17 阅读
0 评论
0 点赞
2024-09-26
Linux ubuntu debian ufw (防火墙) 使用指南
前言UFW 是 “简单防火墙” 的缩写,是更复杂的 iptables 实用程序的前端。它旨在使管理防火墙变得像设置端口打开和关闭以及调节允许通过的流量一样简单。ufw 可以在 Debian 和 Ubuntu 系统中使用,是默认的防火墙配置工具,默认 ufw 是禁用状态,支持 IPv4 和 IPv6。国内的服务器,一般都会有安全组,如果有安全组,则无须使用 ufw国外的服务器,一般端口全都是放行的,所以有必要使用 ufw如果是 CentOS 系统,可以使用 firewalld,强烈建议弃用 CentOS 系统,官方早已经不维护了,会有很多漏洞无法修复。推荐系统:Debian > Ubuntu >>>>> CentOS提示:以下所有命令默认在 root 环境下运行,如果是非 root 环境,则命令需要加前缀:sudoufw 使用更新软件包apt update apt upgrade -y安装# 安装 apt-get install ufw # 帮助命令 ufw --help推荐配置如果要开启防火墙的话,建议先拒绝所有入站流量,然后逐一打开需要的端口。# 默认阻止入站(不会立即切断你的 SSH 连接,因为防火墙尚未启用) ufw default deny incoming # 默认允许出站 ufw default allow outgoing # 拒绝所有访问(如果配置了入站/出战,这个可以不配置) ufw default deny # 根据需求开启端口 ufw allow 22⚠注意确保在修改 SSH 端口后,不要关闭当前 SSH 窗口,尝试使用新的端口进行 SSH 登录,以确保没有防火墙或其他网络配置问题,以免被自己锁定出服务器。启用禁用# 启用 ufw enable # 查看状态 ufw status verbose # 禁用 ufw disable # 防火墙规则存放位置 # /etc/ufw 中的规则文件(后缀名:.rules)允许拒绝allow 例子:# 接受 97 端口的 tcp/udp 流量 ufw allow 97 # 接受 97 端口的 tcp/udp 流量,并添加备注 ufw allow 97 comment 'open 97 port' # 接受 97 端口的 tcp 流量 ufw allow 97/tcp # 接受 97 端口的 udp 流量 ufw allow 97/udp # 通过服务名来处理, 会从 /etc/services 中查找端口 ufw allow ssh # 允许特定IP访问 ufw allow from 1.2.3.4 # 允许特定子网访问 ufw allow from 1.2.3.4/97 # 允许特定IP使用任何协议访问22端口 ufw allow from 1.2.3.4 to any port 22 # 允许特定IP使用任何TCP协议访问22端口 ufw allow from 1.2.3.4 to any port 22 proto tcpdeny 例子:# 拒绝 97 端口的 tcp/udp 流量 ufw deny 97 # 拒绝 97 端口的 tcp 流量 ufw deny 97/tcp # 拒绝 97 端口的 udp 流量 ufw deny 97/udp # 通过服务名来处理, 会从 /etc/services 中查找端口 ufw deny ssh # 拒绝特定IP访问 ufw deny from 1.2.3.4 # 同allow ufw deny from 1.2.3.4 to any port 22 ufw deny from 1.2.3.4 to any port 22 ufw allow from 1.2.3.4/97 to any port 22 proto tcp删除# 要删除规则,只需在原始规则前加上删除,删除 80 端口的 tcp 配置 ufw delete deny 80/tcp # 显示规则的顺序和ID号 ufw status numbered # 删除编号规则(删除规则,规则将向上移动以填充列表) ufw delete 1日志# 启用日志 ufw logging on # 禁用日志 ufw logging off
2024年09月26日
37 阅读
0 评论
0 点赞
2024-09-26
Linux ufw(防火墙)使用指南,解决ufw和docker冲突问题,保护你的服务器/VPS
前言如果你在服务端使用 Docker 映射了某个宿主机端口,然后公网访问这个端口的话,你会发现仍然可以访问,即使 ufw 禁用了这个端口,却不起效果。因为默认状态下的 Docker 并不遵守 ufw 的防火墙规则解决ufw和docker的问题解决方案:https://github.com/chaifeng/ufw-docker目前新的解决方案只需要修改一个 UFW 配置文件即可,Docker 的所有配置和选项都保持默认。修改 UFW 的配置文件 /etc/ufw/after.rules ,在最后添加上如下规则:# BEGIN UFW AND DOCKER *filter :ufw-user-forward - [0:0] :ufw-docker-logging-deny - [0:0] :DOCKER-USER - [0:0] -A DOCKER-USER -j ufw-user-forward -A DOCKER-USER -j RETURN -s 10.0.0.0/8 -A DOCKER-USER -j RETURN -s 172.16.0.0/12 -A DOCKER-USER -j RETURN -s 192.168.0.0/16 -A DOCKER-USER -p udp -m udp --sport 53 --dport 1024:65535 -j RETURN -A DOCKER-USER -j ufw-docker-logging-deny -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -d 192.168.0.0/16 -A DOCKER-USER -j ufw-docker-logging-deny -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -d 10.0.0.0/8 -A DOCKER-USER -j ufw-docker-logging-deny -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -d 172.16.0.0/12 -A DOCKER-USER -j ufw-docker-logging-deny -p udp -m udp --dport 0:32767 -d 192.168.0.0/16 -A DOCKER-USER -j ufw-docker-logging-deny -p udp -m udp --dport 0:32767 -d 10.0.0.0/8 -A DOCKER-USER -j ufw-docker-logging-deny -p udp -m udp --dport 0:32767 -d 172.16.0.0/12 -A DOCKER-USER -j RETURN -A ufw-docker-logging-deny -m limit --limit 3/min --limit-burst 10 -j LOG --log-prefix "[UFW DOCKER BLOCK] " -A ufw-docker-logging-deny -j DROP COMMIT # END UFW AND DOCKER或者使用 ufw-docker 工具下载脚本,修改 after.rules 文件配置:# 下载脚本 wget -O /usr/local/bin/ufw-docker https://github.com/chaifeng/ufw-docker/raw/master/ufw-docker # 赋予权限 chmod +x /usr/local/bin/ufw-docker # 修改配置文件 ufw-docker installufw-docker install 命令做了以下事情:备份文件 /etc/ufw/after.rules把 UFW 和 Docker 的相关规则添加到文件 after.rules 的末尾然后重启 UFW ,systemctl restart ufw 。现在外部就已经无法访问 Docker 发布出来的任何端口了,但是容器内部以及私有网络地址上可以正常互相访问,而且容器也可以正常访问外部的网络。可能由于某些未知原因,重启 UFW 之后规则也无法生效,请重启服务器。如果希望允许外部网络访问 Docker 容器提供的服务,比如有一个容器的服务端口是 80。那就可以用以下命令来允许外部网络访问这个服务:ufw route allow proto tcp from any to any port 80这个命令会允许外部网络访问所有用 Docker 发布出来的并且内部服务端口为 80 的所有服务。请注意,这个端口 80 是容器的端口,而非使用 -p 0.0.0.0:8080:80 选项发布在服务器上的 8080 端口。如果有多个容器的服务端口为 80 ,但只希望外部网络访问某个特定的容器。比如该容器的私有地址为 172.17.0.2 ,就用类似下面的命令:ufw route allow proto tcp from any to 172.17.0.2 port 80如果一个容器的服务是 UDP 协议,假如是 DNS 服务,可以用下面的命令来允许外部网络访问所有发布出来的 DNS 服务:ufw route allow proto udp from any to any port 53同样的,如果只针对一个特定的容器,比如 IP 地址为 172.17.0.2ufw route allow proto udp from any to 172.17.0.2 port 53ufw-docker 也是支持 Docker Swarm 的,详细教程及配置参考文章:https://github.com/chaifeng/ufw-docker
2024年09月26日
197 阅读
0 评论
1 点赞
2024-01-29
使用Ubuntu|Debian的 UFW 禁止 ICMP 协议访问(禁 ping)
打开 UFW 配置文件vim /etc/ufw/before.rules修改配置允许 ping-A ufw-before-input -p icmp --icmp-type echo-request -j ACCEPT禁止 ping-A ufw-before-input -p icmp --icmp-type echo-request -j DROP让配置生效ufw reload
2024年01月29日
73 阅读
0 评论
0 点赞
2024-01-29
Debian/Ubuntu 中安装和配置 UFW 防火墙
前言UFW 是一个 Arch Linux、Debian 或 Ubuntu 中管理防火墙规则的前端,可大大简化防火墙的配置过程。安装 UFW如还没有安装,可以使用 apt 命令来安装apt-get update && apt-get install ufw在使用前,你应该检查下 UFW 是否已经在运行。ufw status如果你发现状态是 inactive ,意思是没有被激活或不起作用。启用/禁用ufw enable #启用 ufw disable #禁用使用与配置列出当前UFW规则ufw status verbose添加规则允许入站(allow)默认情况,没有允许就是拒绝(入站),使用 ufw allow <端口> 来添加允许访问的端口或协议。ufw allow ssh #添加22端口 ufw allow http #添加80端口 ufw allow https #添加443端口 ufw allow 2333/tcp #添加2333端口,仅TCP协议 ufw allow 6666/udp #添加6666端口,仅UDP协议 ufw allow 8888:9999 #添加8888到9999之间的端口拒绝访问(deny)使用 ufw deny <端口> 来添加拒绝入站的端和协议,与添加允许的类似。删除规则先使用 ufw status 查看规则,再使用 ufw delete [规则] <端口> 来删除规则。ufw delete allow 2333/tcp如果你有很多条规则,使用 numbered 参数,可以在每条规则上加个序号数字。然后使用 ufw delete <序号> 来删除规则。root@p3terx:~# ufw status numbered #列出规则,并加上序号。 Status: active To Action From -- ------ ---- [ 1] 20,21,22,80,888,8888/tcp ALLOW IN Anywhere [ 2] 39000:40000/tcp ALLOW IN Anywhere [ 3] 8896/tcp ALLOW IN Anywhere [ 4] 8896/udp ALLOW IN Anywhere [ 5] 443/tcp ALLOW IN Anywhere [ 6] 20,21,22,80,888,8888/tcp (v6) ALLOW IN Anywhere (v6) [ 7] 39000:40000/tcp (v6) ALLOW IN Anywhere (v6) [ 8] 8896/tcp (v6) ALLOW IN Anywhere (v6) [ 9] 8896/udp (v6) ALLOW IN Anywhere (v6) [10] 443/tcp (v6) ALLOW IN Anywhere (v6) root@p3terx:~# ufw delete 4 #删除上面的第4条规则 Deleting: allow 8896/udp Proceed with operation (y|n)? y #最后会询问你是否进行操作以上都是一些简单常用的一些命令,想要深入了解,可以输入 man ufw 查看 ufw 用户手册。
2024年01月29日
31 阅读
0 评论
0 点赞
2024-01-02
Ubuntu-Shell-监控公网IP-变化邮件报警
1、安装ssmtp服务sudo apt-get install ssmtp mailutils发送邮件需要有mailutils基础库,ssmtp库可以进一步选择发送人,收件人,邮件主题,邮件内容等。2、开通邮箱smtp服务需要开通发件人邮箱的smtp服务,无论是qq邮箱还是163邮箱等都可以直接开通,我选择的是qq邮箱,具体步骤可以参考:设置完之后呢,就要把生成的授权码作为邮箱的password3、配置ssmtp3.1、设置ubuntu发件人信息首先更改文件 /etc/ssmtp/ssmtp.conf ,编辑器选择自己常用的,我用的是vimsudo vim /etc/ssmtp/ssmtp.conf进入文件后默认显示如下:在文件中加入如下内容:UseTLS=Yes root=*********@qq.com AuthUser=********* AuthPass=******************即 mailhub 修改为qq邮箱的smtp服务器和端口,smtp.qq.com:465,如果发件人使用的是163邮箱,则163邮箱的服务器和端口自行百度,可能是 smtp.163.com:465;hostname 保持不变;root 后的邮箱为发件人邮箱, AuthUser 为发件人账号, AuthPass 为之前申请所得的smtp授权码。保存退出( :wq )3.2、配置ssmtp用户使用权限即配置允许哪个ubuntu用户可以使用发件人邮箱发送邮件。更改文件 /etc/ssmtp/revaliases (我默认使用root):sudo vim /etc/ssmtp/revaliases在下方添加如下:root:xxxxxx@qq.com:smtp.qq.com:465 rj01:xxxxxx@qq.com:smtp.qq.com:465即格式为:用户:邮箱:smtp.qq.com:465,163邮箱更改对应位置即可。这样配置即允许root用户和指定用户(如我的为rj01)使用ssmtp服务发送邮件。至此ssmtp配置完成。3.3、简单测试echo "hello world" | mail -s "title" xxxxxx@qq.com输入上述命令,后面邮箱为收件人邮箱,可以任意指定,收到邮件,测试成功。4、crontab 命令定时循环执行检测脚本发送邮件4.1、编写Shell脚本#!/bin/bash dirfile='/home/ip_change' new_ip=`curl icanhazip.com` #获取新公网ip mail_user=xxxxxx@qq.com #接收收邮件邮箱 mail_subject="IP已经发生变化,及时处理" #邮件主题 log="/var/log/tool.log" datetime=`date '+%Y-%m-%d %H:%M:%S'` #判断文件是否存在 if [ ! -f "$dirfile" ]; then touch "$file" echo "1.1.1.1" > $dirfile fi #判断new_ip是否获取 if [ ! -n "$new_ip" ]; then echo "$datetime 公网IP获取失败,检查'curl icanhazip.com' " >> $log exit 1 fi old_ip=`cat $dirfile` #查看旧ip # 判断两个IP是否相等 发邮件 if [ "$new_ip" = "$old_ip" ]; then echo "$datetime IP正常 - true " >> $log else echo $new_ip > $dirfile echo "IP已经发生变化, 新IP: $new_ip 旧IP: $old_ip !!! " | mail -s "$mail_subject" "$mail_user" echo "$datetime IP已经发生变化 - error 新IP :$new_ip 旧IP: $old_ip" >> $log fi4.2、crontab 定时循环执行脚本在之前配置的用户权限中允许的用户下,输入如下命令:crontab -e添加如下命令(路径需修改成自己编写的shell脚本路径):*/10 * * * * /bin/bash /data/shell/getIp/getIp.sh至此,每隔10分钟,自动获取最新公网ip,如果有更新,发送到目标邮箱。
2024年01月02日
46 阅读
0 评论
0 点赞
2023-03-22
Debian10 配置镜像源(外网、内网)
一.备份默认源由于默认源都在国外,速度非常慢,需要把默认的源配置文件备份后删除。# 进入配置文件目录 cd /etc/apt # 复制配置文件 cp sources.list sources.list.bak二、配置外网源(阿里)nano /etc/apt/sources.list配置文件内容:deb http://mirrors.aliyun.com/debian/ buster main non-free contrib deb http://mirrors.aliyun.com/debian/ buster-updates main non-free contrib deb http://mirrors.aliyun.com/debian/ buster-backports main non-free contrib deb-src http://mirrors.aliyun.com/debian/ buster main non-free contrib deb-src http://mirrors.aliyun.com/debian/ buster-updates main non-free contrib deb-src http://mirrors.aliyun.com/debian/ buster-backports main non-free contrib deb http://mirrors.aliyun.com/debian-security/ buster/updates main non-free contrib deb-src http://mirrors.aliyun.com/debian-security/ buster/updates main non-free contrib清理缓存|更新仓库文件列表# 清除缓存 apt clean # 更新列表 apt update三、配置本地源(内网环境)在非联网环境可以通过安装包光盘配置本地源。# 创建挂载目录 mkdir /mnt/debian-cd # 挂载光盘 mount /dev/cdrom /mnt/debian-cd # 验证是否挂载成功 ls -l /mnt/debian-cd # 添加光盘镜像源 apt-cdrom add # 清除缓存 apt clean # 更新列表 apt update
2023年03月22日
92 阅读
0 评论
0 点赞