linux教程

RHCE 系列(二):如何进行包过滤、网络地址转换和设置内核运行时参数

主宰稳场 提交于 2020-05-06 07:02:10
正如第一部分(“设置静态网络路由”)提到的,在这篇文章(RHCE 系列第二部分),我们首先介绍红帽企业版 Linux 7(RHEL)中包过滤和网络地址转换(NAT)的原理,然后再介绍在某些条件发生变化或者需要变动时设置运行时内核参数以改变运行时内核行为。 RHEL 7 中的网络包过滤 当我们讨论数据包过滤的时候,我们指防火墙读取每个试图通过它的数据包的包头所进行的处理。然后,根据系统管理员之前定义的规则,通过采取所要求的动作过滤数据包。 正如你可能知道的,从 RHEL 7 开始,管理防火墙的默认服务是 firewalld。类似 iptables,它和 Linux 内核的 netfilter 模块交互以便检查和操作网络数据包。但不像 iptables,Firewalld 的更新可以立即生效,而不用中断活跃的连接 - 你甚至不需要重启服务。 Firewalld 的另一个优势是它允许我们定义基于预配置服务名称的规则(之后会详细介绍)。 然而,你应该记得,由于还没有介绍包过滤,为了简化例子,我们停用了2号路由器的防火墙。现在让我们来看看如何使接收的数据包发送到目的地的特定服务或端口。 首先,让我们添加一条永久规则允许从 enp0s3 (192.168.0.19) 到 enp0s8 (10.0.0.18) 的入站流量: # firewall-cmd --permanent --direct

积攒力量,终会展翅飞翔。Linux学习记录

有些话、适合烂在心里 提交于 2020-04-26 13:53:31
带着对 linux 的兴趣,我来到了兄弟连!来此学习已一月有余,也该写点东西记录一下在兄弟连的点滴。 上了这么多年学,我感觉学习的过程是枯燥的,这个问题应该是很难避免的!甚至可能在我们大家的潜意识里就觉得学习本来就应该是这样的啊,其实这是不对的!!超哥可以用生活中生动形象的例子来帮助你理解枯燥的理论,用语幽默风趣,同时也有助于记忆,这些都让原本痛苦的学习过程变得容易起来!爱因斯坦有一句名言,如果你无法向六岁的小孩解释它,那代表你自己也不明白!超哥完美的将复杂的理论简单化了,我感觉这不仅仅可以使初学者容易理解,就算有基础之前接触过的人也会受益匪浅,感觉眼前一亮!超哥还会跟我们聊一下他之前工作中遇到的状况,虽然经验是不能传授的,但是也提高了我们的专业素养,使我们认识到这个知识点在工作中是怎么跟我们见面的! 除了超哥上午接地气充满激情的讲解,项目经理川哥下午也为我们营造了一个轻松快乐的学习环境!在课间的时候总能让班里充满欢声笑语,除了时不时的给我们“充点”班费,还在七夕的时候给我们发红包,惊喜福利不断!除了这些,川哥还很关心我们的健康,经常提醒我们,“不要一坐就坐一下午,起来活动活动!” 时不时还有漂亮妹子来巡班,翠姐可是在我们云 4 的班里唯一能看到的妹子!不知道让多少人困意全无精神抖擞! 上午上课,下午和晚上做相应的实验整理笔记,有时会顾不上喝水上厕所,恨不能一秒当成两秒用

Linux 中 10 个有用的命令行补全例子

拜拜、爱过 提交于 2020-04-16 08:09:31
【推荐阅读】微服务还能火多久?>>> 在 Linux 系统中,当你输入一个命令,再按两次 TAB 键,就会列出所有以你输入字符开头的可用命令。这并不新鲜,可能你已经知道了。这个功能被称作命令行补全bash completion。默认情况下,bash 命令行可以自动补全文件或目录名称。不过,我们可以增强 bash 命令补全功能,通过 complete 命令让它达到新的高度。 这个教程说明了我们是怎样使用可编程的命令行补全功能programmable completion把自动补全功能应用于选项或者命令行参数。 例如:在输入 write 命令之后,如果你按两次 TAB 按键,自动补全功能会提供可供执行 write 操作的用户列表。 $ write [TAB][TAB] bala raj jason randy john ritu mayla thomas nisha www-data 在下面的例子中,可以为 telnet 命令显示可用的主机名: $ telnet [TAB][TAB] localhost dev-db fileserver 要让可编程命令补全功能在你的终端起作用 ,你只需要如下执行/etc/bash_completion即可: # . /etc/bash_completion 你也可以取消/etc/bash.bashrc(来自 Ubuntu Linux 13.04 系统

Crontab 让linux定时执行shell脚本

谁说胖子不能爱 提交于 2020-04-12 17:35:15
使用 crontab 你可以在指定的时间执行一个 shell 脚本或者一系列 Linux 命令。例如系统管理员安排一个备份任务使其每天都运行 入门 # crontab –e 这样可以已编辑模式打开个人的 crontab 配置文件,然后加入一下这行: 0 0 * * * /home/linrui/XXXXXXXX.sh 这将会在每天凌晨运行 指定的 .sh 文件 Cron 各项的描述 以下是 crontab 文件的格式: {minute} {hour} {day-of-month} {month} {day-of-week} {full-path-to-shell-script} o minute: 区间为 0 – 59 o hour: 区间为 0 – 23 o day-of-month: 区间为 0 – 31 o month: 区间为 1 – 12. 1 是 1 月 . 12 是 12 月 . o Day-of-week: 区间为 0 – 7. 周日可以是 0 或 7. Crontab 示例 1 、在 凌晨 00:01 运行 1 0 * * * /home/linrui/XXXX.sh 2 、每个工作日 23:59 都进行备份作业。 59 11 * * 1,2,3,4,5 /home/linrui/XXXX.sh 或者如下写法: 59 11 * * 1-5 /home/linrui

NGINX Plus 现在完全支持 HTTP/2

删除回忆录丶 提交于 2020-03-17 23:34:49
某厂面试归来,发现自己落伍了!>>> 早些时候,我们发布了支持 HTTP/2 协议的 NGINX Plus R7。作为 HTTP 协议的最新标准,HTTP/2 的设计为现在的 web 应用程序带来了更高的性能和安全性。(LCTT 译注: 开源版本的 NGINX 1.95 也支持 HTTP/2 了。) NGINX Plus 所实现的 HTTP/2 协议可与现有的网站和应用程序进行无缝衔接。只需要一点改变,不管用户选择什么样的浏览器,NGINX Plus 都能为用户同时提供 HTTP/1.x 与HTTP/2 的最佳体验。 要支持 HTTP/2 仅需通过可选的 nginx ‑ plus ‑ http2 软件包。nginx ‑ plus 和 nginx ‑ plus ‑ extras 软件包支持 SPDY 协议,目前推荐用于生产站点,因为其被大多数浏览器所支持并且代码也是相当成熟了。 为什么要使用 HTTP/2? HTTP/2 使数据传输更高效,对你的应用程序更安全。 HTTP/2 相比于 HTTP/1.x 有五个提高性能特点: 完全复用 – 在一个保持激活(keepalive)的连接上,HTTP/1.1 强制按严格的顺序来处理请求。一个请求必须在下一个请求开始前结束。 HTTP/2 消除了这一要求,允许并行和乱序来处理请求。 单一,持久连接 – 由于 HTTP/2 允许请求完全复用

使用Chef管理windows集群 | 运维自动化工具

自作多情 提交于 2020-03-04 15:21:20
但凡服务器上了一定规模(百台以上),普通的ssh登录管理的模式就越来越举步维艰。试想Linux发布了一个高危漏洞的补丁,你要把手下成百上千台机器都更新该补丁,如果没有一种自动化方式,那么至少要耗上大半天时间。虽然你编写了大量的shell(或python,perl)脚本来实现各种自动化场景,但最后会发现你又陷入了脚本的汪洋大海之中,管理和维护这么多的脚本的成本也不小。你需要一款基础设施自动化工具,希望它能具有以下功能。 1 批量执行 这个不多说了吧,试想要为每一台机器打补丁的情形吧。 2 任务编排 现在稍微复杂点的应用都需要N台服务器来部署,而部署的过程中肯定有个先后的依赖顺序。那么由此看来任务编排肯定必不可少。 3 对业务场景的抽象,也就是DSL化 之所以抛弃自己用shell(或其它语言的)脚本来实现各种自动化的原因之一就是这些脚本很难懂,除了你以外其他人几乎无法修改。而作为一个成熟的工具,自然对咱们复杂的应用场景要做抽象,比如对服务器节点、角色的抽象,对服务器上的各种安装、配置操作的抽象,对不同环境的抽象等。通过抽象出来的DSL,大家很容易达成一致,协同工作。 4 安全机制 既然是基础设施自动化工具,免不了包含各种敏感信息,如何去敏也是挺重要的。而且既然能控制整个服务器集群,控制方式也要绝对安全。 除了这几个基本功能以外,当然我们还希望有更多功能,比如脚本重用、审计功能

如何在 Ubuntu 15.04 系统中安装 Logwatch

佐手、 提交于 2020-03-02 04:56:10
大家好,今天我们会讲述在 Ubuntu 15.04 操作系统上如何安装 Logwatch 软件,它也可以在各种 Linux 系统和类 Unix 系统上安装。Logwatch 是一款可定制的日志分析和日志监控报告生成系统,它可以根据一段时间的日志文件生成您所希望关注的详细报告。它具有易安装、易配置、可审查等特性,同时对其提供的数据的安全性上也有一些保障措施。Logwatch 会扫描重要的操作系统组件像 SSH、网站服务等的日志文件,然后生成用户所关心的有价值的条目汇总报告。 预安装设置 我们会使用 Ubuntu 15.04 版本的操作系统来部署 Logwatch,所以安装 Logwatch 之前,要确保系统上邮件服务设置是正常可用的。因为它会每天把生成的报告通过日报的形式发送邮件给管理员。您的系统的源库也应该设置可用,以便可以从通用源库来安装 Logwatch。 然后打开您 ubuntu 系统的终端,用 root 账号登陆,在进入 Logwatch 的安装操作前,先更新您的系统软件包。 root@ubuntu-15:~# apt-get update 安装 Logwatch 只要你的系统已经更新和已经满足前面说的先决条件,那么就可以在您的机器上输入如下命令来安装 Logwatch。 root@ubuntu-15:~# apt-get install logwatch 在安装过程中

如何在 CentOS 中设置 NTP 服务器

余生长醉 提交于 2019-12-22 00:24:38
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 网络时间协议(NTP)用来同步网络上不同主机的系统时间。你管理的所有主机都可以和一个指定的被称为 NTP 服务器的时间服务器同步它们的时间。而另一方面,一个 NTP 服务器会将它的时间和任意公共 NTP 服务器,或者你选定的服务器同步。由 NTP 管理的所有系统时钟都会同步精确到毫秒级。 在公司环境中,如果他们不想为 NTP 传输打开防火墙,就有必要设置一个内部 NTP 服务器,然后让员工使用内部服务器而不是公共 NTP 服务器。在这个指南中,我们会介绍如何将一个 CentOS 系统配置为 NTP 服务器。在介绍详细内容之前,让我们先来简单了解一下 NTP 的概念。 为什么我们需要 NTP? 由于制造工艺多种多样,所有的(非原子)时钟并不按照完全一致的速度行走。有一些时钟走的比较快而有一些走的比较慢。因此经过很长一段时间以后,一个时钟的时间慢慢的和其它的发生偏移,这就是常说的 “时钟漂移” 或 “时间漂移”。为了将时钟漂移的影响最小化,使用 NTP 的主机应该周期性地和指定的 NTP 服务器交互以保持它们的时钟同步。 在不同的主机之间进行时间同步对于计划备份、入侵检测记录、分布式任务调度或者事务订单管理来说是很重要的事情。它甚至应该作为日常任务的一部分。 NTP 的层次结构 NTP 时钟以层次模型组织

高效的 Linux 限流神器 Trickle

淺唱寂寞╮ 提交于 2019-12-17 11:09:33
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> Trickle 是个非常小巧实用的 Linux 命令限流工具 Trickle 可以限制 Linux 命令行工具的上传和下载流量。在跨地域文件传输或者备份时非常有用,因为外网带宽往往会比较贵。 或者你想备份进程或者下载进程不对同机器的其他服务产生影响,也需要 Trickle 这样的限流工具。 再或者你在办公室想下载大文件,不希望影响其他网络用户或者应用, Trickle 就是为此设计。 Trickle 的使用非常简单 只需要把 trickle 和相关参数附加在其他 Linux 命令行工具命令之前即可。 比如限制 Wget 下载文件的速度为 20KB/S trickle -s -d 20 wget -c http://blog.eood.cn/ 限制文件备份到 AWS S3 的上传速度为 1MB/S : trickle -s -u 1024 s75pxd sync /mnt/data/ s3://my-backup 当然,你也可以把 trickle 加在现有的服务器自动化脚本中完成限流功能。 其他功能 trickle -L 设置延迟为多少 ms trickle -w 设置窗口长度为多少 KB 总之 假如你使用 Linux 系统作为办公和开发环境。 Trickle 还可以针对每个不同的 Linux 工具进行限流

如何在 Arch Linux 中安装 DNSCrypt 和 Unbound

筅森魡賤 提交于 2019-12-09 10:53:51
DNSCrypt 是一个用于对 DNS 客户端和 DNS 解析器之间通信进行加密和验证的协议。它可以阻止 DNS 欺骗或中间人攻击。 DNSCrypt 可用于大多数的操作系统,包括 Linux,Windows,MacOSX ,Android 和 iOS。而在本教程中我使用的是内核为4.1的 archlinux。 Unbound 是用来解析收到的任意 DNS 查询的 DNS 缓存服务器。如果用户请求一个新的查询,unbound 会将其存储到缓存中,并且当用户再次请求相同的请求时,unbound 将采用已经保存的缓存。这将比第一次请求查询更快。 现在我将尝试安装“DNSCrypt”,以确保 DNS 的通信的安全,并用“Unbound”加速。 第一步 - 安装 yaourt Yaourt 是AUR(ARCH 用户仓库)的辅助工具之一,它可以使用户能够很容易地从 AUR 安装程序。 Yaourt 和 pacman 使用相同的语法,你可以使用 yaourt 安装该程序。下面是安装 yaourt 的简单方法: 1、 用 nano 或者 vi 编辑 arch 仓库配置文件,存放在“/etc/pacman.conf”中。 $ nano /etc/pacman.conf 2、 在 yaourt 仓库底部添加,粘贴下面的脚本: [archlinuxfr] SigLevel = Never Server