linux daemon命令(linux daemon)-编程知识网

如何查看Linux系统安装的时间?

查看 bin, daemon, adm 等这些帐号的建立时间,这些帐号是在系统安装的时候创建的,所以这些帐号的创建时间基本上就是 Linux 系统的安装时间

1、查看bin 帐号密码的时间

2、查看daemon帐号密码的时间

3、查看adm 帐号密码的时间

通过已上用户查看到我这台机器是于2014年10月29日安装的。

daemon形式?

docker run指定的命令如果不是那些一直挂起的命令(比如运行top,不断echo),就是会自动退出的。-d命令是设置detach为true,根据官方的文档,意思是让这个命令在后台运行,但并不是一直运行(我们在一个正常的Linux Terminal中运行/bin/bash,运行完了也就完了,不会一直挂着等待响应的,所以确实没办法用daemon方式来跑/bin/bash)。

这个地方官方早期和现在的文档也确实有些前后不一致,现在是detach,早期的文档说指定-d以daemon方式来运行容器,可能存在一定的误解。

另外,如果你需要跑容器里的bash,直接运行docker run -i -t CONTAINER_NAME /bin/bash 就可以了,如果觉得参数比docker attach多,可以设置一个别名(alias)来解决:

alias dockerbash='docker run -i -t CONTAINER_ID /bin/bash'
设置好别名后,直接运行dockerbash就可以进入容器的bash了

linux中dockers容器技术介绍?

linux中dockers容器技术其实就是管理熊雄起的引擎,是应用打包部署平台,可以为数据软件的应用提供基础。

什么是docker?

Docker就好比传统的货运集装箱

Docker是管理容器的引擎

Docker为应用打包 部署平台,而非单纯的虚拟化技术

SaaS(app,云盘,微店,网站) PaaS(redis,nysql,nginx)是基于Docker的云平台

VM VS Container

关于虚拟机

virsh 命令管理

virt_manager 图形化管理

libvirtd 一个管理接口

qemu-kvm(cpu/mem) 完全虚拟化

如果停掉libvirtd

systemctl stop libvirtd

1

1

管理化命令不能工作,但是虚拟机依然存在,依然工作

容器

容器和物理机共享内核和一些重要的文件系统

比虚拟机更小,更轻

传统虚拟机和容器技术对比

容器是如何工作的

创建一个容器

yum install wget -y

cd /etc/yum.repos.d/

wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

1

2

3

1

2

3

要解决依赖性

在阿里云平台下载

然后下载的包和rhel7.6 yum源里的包一起解决依赖性

yum install docker-ce container-selinux-2.77-1.el7.noarch.rpm -y

systemctl start docker

1

2

1

2

注意:docker启动前关闭防火墙和关闭selinux

docker info 查看容器信息

1

1

发现有两个警告

解决:

sysctl -a | grep bridge-nf-call-iptables

vim /etc/sysctl.d/bridge.conf

1

2

1

2

net.bridge.bridge-nf-call-iptables = 1

net.bridge.bridge-nf-call-ip6tables = 1

sysctl –system 生效

1

2

3

1

2

3

所有的容器数据都在/var/lib/docker里面

如果想要用普通用户做docker需要给这个文件给权限

yum install bash-* -y 为了table 补齐命令

1

1

用容器部署一个nginx服务

一般拉取太慢,设置一个加速器

cd /etc/docker/

vim daemon.json

systemctl daemon-reload

systemctl restart docker

1

2

3

4

1

2

3

4

docker search nginx 寻找镜像

docker pull nginx 拉取镜像(一般以服务名的是官方提供的)

docker run -d –name nginx nginx 部署容器

docker ps

1

2

3

4

1

2

3

4

docker inspect nginx 查看nginx容器信息

1

1

用ip addr show 命令查看桥接到docker0

yum install bridge-utils 桥接命令

brctl show

1

2

1

2

nginx部署成功

此时,nginx只能内部访问

如果需要外部访问,则删掉原nginx容器,用端口映射部署nginx

-d : 打入后台

-p 80:80 : 80映射80端口

docker run -d –name nginx -p 80:80 nginx

1

1

nginx history nginx:latest 查看nginx镜像信息

iptables -t nat -nL

1

2

1

2

访问本机转发到172.17.0.2:80上去

用ps ax 或 top 或 netstat -antlp 查看 docker就是个进程

网页访问虚拟机ip 可以看到nginx服务。

linux防火墙发展史?

1. 认识防火墙

从逻辑上讲防火墙可以分为主机防火墙和网络防护墙。

  主机防火墙:针对个别主机对出站入站的数据包进行过滤。(操作对象为个体)

  网络防火墙:处于网络边缘,针对网络入口进行防护。(操作对象为整体)

从物理上讲防火墙可以分为硬件防火墙和软件防火墙。

  硬件防火墙:通过硬件层面实现防火墙的功能,性能高,成本高。

  软件防火墙:通过应用软件实现防火墙的功能,性能低,成本低。

2. 系统防火墙发展过程

防火墙的发展史就是从墙到链再到表,也是从简单到复杂的过程。

防火墙工具变化如下:

ipfirewall—>ipchains—>iptables–>nftables(正在推广)

  Linux 2.0版内核中:包过滤机制为ipfw,管理工具是ipfwadm。

  Linux 2.2版内核中:包过滤机制为ipchain,管理工具是ipchains。

  Linux 2.4,2.6,3.0+版内核中:包过滤机制为netfilter,管理工具是iptables。

  Linux 3.1(3.13+)版内核中:包过滤机制为netfilter,中间采取daemon动态管理防火墙,管理工具是firewalld。

    # 目前低版本的firewalld通过调用iptables(command),它可以支持老的iptables规则(在firewalld里面叫做直接规则),

    # 同时firewalld兼顾了iptables,ebtables,ip6tables的功能。

3. iptables和nftables

nftables

  nftables诞生于2008年,2013年底合并到Linux内核,从 Linux 3.13起开始作为iptables的替代品提供给用户。

  它是新的数据包分类框架,新的linux防火墙管理程序,旨在替代现存的 {ip,ip6,arp,eb}_tables,它的用户空间管理工具是nft。

由于iptables的一些缺陷,目前正在慢慢过渡用nftables替换iptables,同时由于这个新的框架的兼容性,

所以nftables也支持在这个框架上运行直接iptables这个用户空间的管理工具。

  nftables实现了一组被称为表达式的指令,可通过在寄存器中储存和加载来交换数据。

也就是说,nftables的核心可视为一个虚拟机,nftables的前端工具nft可以利用内核提供的表达式去模拟旧的iptables匹配,

维持兼容性的同时获得更大的灵活性。

  而未来最新的firewalld(0.8.0)默认使用将使用nftables。详情可以看www.firewalld.org

iptables、nftables和firewalld之间的区别与联系

  firewalld同时支持iptables和nftables,未来最新版本(0.8.0)默认将使用nftables。

简单的说firewalld是基于nftfilter防火墙的用户界面工具。而iptables和nftables是命令行工具。

firewalld引入区域的概念,可以动态配置,让防火墙配置及使用变得简便。

  准确的说:iptables(command)的最底层是netfilter,它的用户空间管理工具是iptables

nftables(command)是iptables(command) 的一个替代品并兼容iptables(command),最底层依然是netfilter,它的用户空间管理工具是nft,

同时未来firewalld最新版(0.8.0)也将默认支持nftables(command)。https://firewalld.org/

  iptables会把配置好的防火墙策略交给内核层的netfilter网络过滤器来处理

  firewalld会把配置好的防火墙策略交给内核层的nftables包过滤框架来处理

下图为iptables、firewalld、nftables之间的关系图:

4. centos6.X到centos7.X

centos6.X:防火墙由netfilter和iptables构成。其中iptables用于制定规则,又被称为防火墙的用户态;

  而netfilter实现防火墙的具体功能,又被称为内核态。简单地讲,iptables制定规则,而netfilter执行规则。

centos7.X:防火墙在6.X防火墙的基础之上提出了新的防火墙管理工具,提出了区域的概念,通过区域定义网络链接以及安全等级。

5.怎样学好防火墙的配置?

  1)OSI7层模型以及不同层对应哪些协议必须很熟悉  # 基础必备

  2)TCP/IP三次握手,四次断开的过程,TCP HEADER,状态转换  # 基础必备

  3)常用的服务端口要非常清楚了解。  # 基础必备

  4)常用服务协议的原理,特别是http协议,icmp协议。  # 基础必备

  5)能够熟练的利用tcpdump和wireshark进行抓包并分析,这样会更好  # 拓展

  6)对计算机网络有研究,至少基本路由交换要很熟悉  # 拓展

6、企业中安全配置原则

  尽可能不给服务器配置外网IP,可以通过代理转发或者通过防火墙映射。

  并发不是特别大情况有外网IP,可以开启防火墙服务。

  大并发的情况,不能开iptables,影响性能,利用硬件防火墙提升架构安全。