2018.1.247周3次课

author author     2022-10-11     488

关键词:

七周三次课(1月24日)

10.11 Linux网络相关 10.12 firewalld和netfilter 10.13 netfilter5表5链介绍 10.14 iptables语法

10.11 Linux网络相关

  1. 用ifconfig命令查看网卡IP

前面曾用过ip addr这个命令来查看系统的IP地址。其实在centos 7之前,我们使用最多的命令是ifconfig,它类似于Windows的ipconfig命令,后面不加任何选项和参数时,只打印当前网卡的相关信息 (如子网掩码、 网关等)。在Windows下设置IP非常简单,然而在命令窗口下如何设置呢?这就需要修改配置文件/etc/sysconfig/network-scripts/ifcfg-xxx了,这里的xxx指的是网卡的名字,可以使用ip add命令查看所有网卡。如果你的系统里没有ifconfig命令,可以使用yum install –y net-tools安装。

如果有多个网卡,而你只想重启某一个网卡的话,可以使用如下命令:

# ifdown ens33  关闭网卡

# ifup ens33  启动网卡

需要大家注意的是,如果我们远程登录服务器,当使用命令ifdown ens33时,很有可能后面的命令ifup  ens33不会运行。这样会导致我们断网而无法连接服务器

可以使用命令systemctl restart network来重启网卡。,可以使用如下命令

技术分享图片

  1. 给一个网卡设定多个IP

在Linux系统中,网卡是可以设定多重IP的

IP的设置过程如下:

# cd /etc/sysconfig/network-scripts

# cp ifcfg-ens33 ifcfg-ens33:0

之所以加反斜杠(),是因为要把:转义,不然在Linux命令行下面无法识别。然后编辑 ifcfg- ens33:0这个配置文件。

技术分享图片

修改上述NAME、DEVICE、IPADDR,设置完毕重启网卡

技术分享图片

技术分享图片

  1. 查看网卡连接状态

技术分享图片

这里显示link ok,就说明网卡为连接状态。如果显示no link,说明网卡坏了或者没有连接。

还有一个命令也可以查看网卡的状态

技术分享图片

这里显示Link detected: yes。如果网卡没有连接,则显示Link detected: no

  1. 更改主机名

安装完系统后,主机名默认为localhost. localdomain, 使用hostname命令就可以查看Linux的主机名,

技术分享图片

使用hostname命令也可以更改主机名

下次登录时,命令提示符[[email protected]~] 中的localhost就会更改成新的主机名。不过这样修改只是保存在内存中,如果重启,主机名还会变成改动之前的名称。

如要重启后使用新的主机名,要用如下命令

更改主机名 hostnamectl set-hostname aminglinux

主机名的相关配置文件/etc/hostname。

技术分享图片

  1. 设置DNS

DNS是用来解析域名的。平时我们访问网站都是直接输人一个网址,而DNS把这个网址解析到一个IP

在Linux下设置DNS非常简单,只要把DNS地址写到配置文件/etc/resolv.conf中即可。

技术分享图片

如果只是临时修改DNS IP地址,就直接修改/etc/resolv.conf;如果是永久生效的话,还是要修改网卡的配置文件。

在Linux下还有一个特殊文件/etc/hosts也能解析域名,不过需要我们在里面手动添加IP和域名这内容它的作用是临时解析某个域名,非常有用。

技术分享图片

/etc/hosts的格式很简单,每一行为一条记录分成两部分,第一部分是IP,第二部分是域名。关于hosts文件,有以下几点需要你注意:

  • 一个IP后面可以跟多个域名,可以是几十个甚至上百个;

  • 每一行只能有一个IP,也就是说一个域名不能对应多个IP;

  • 如果有多行中出现相同的域名(对应的IP不一样),会按最后面出现的记录来解析

10.12 firewalld和netfilter

  1. SELinux是Linux系统特有的安全机制。因为这种机制的限制太多,配置也特别烦琐,所以我们一般都要把SELinux关闭,以免引起不必要的麻烦。

临时关闭SELinux的方法为:

技术分享图片

但这仅仅是临时的,要想永久关闭需要更改配置文件/etc/selinux/config需要把SELINUX= enforcing 改成SELINUX=disabled

更改完后重启系统方可生效。

  1. netfilter

centos7之前使用netfilter防火墙。centos7开始使用firewalld防火墙

关闭firewalld开启netfilter方法

禁止firewalld服务开机启动

技术分享图片

关闭firewalld服务

技术分享图片

安装iptables-services

技术分享图片

开机启动iptables

技术分享图片

启动iptables服务

技术分享图片

查看iptable规则

技术分享图片

上例中,-nvL选项表示查看规则,-F选项表示清除当前规则,但清除只是临时的,重启系统或者重启iptables服务后还会加载已经保存的规则,所以需要使用service tables save保存一下规则。通过上面的命令输出,我们也可以看到,防火墙规则保存在/etc/sysconfig/iptables中,你可以查看一下这个文件。

netfilter5表5链介绍

  1. netfilter的5个表

filter表主要用于过滤包,是系统预设的表,这个表也是用得最多的表。该表内建3个链:INPUT、OUTPUT以及FORWARD。 INPUT链作用于进入本机的包,OUTPUT链作用于本机送出的包,FORWARD链作用于那些跟本机无关的包 。

nat表主要用于网络地址转换,它也有3个链。REROUTING链的作用是在包刚刚到达防火墙时改变它的目的地址(如果需要的话),OUTPUT链的作用是改变本地产生的包的目的地址,POSTROUTING链的作用是在包即将离开防火墙时改变其源地址。

mangle表主要用于给数据包做标记,然后根据标记去操作相应的包。这个表几乎不怎么用, 除非你想成为一个高级网络工程师,否则就不需要太关注。

raw表可以实现不追踪某些数据包,默认系统的数据包都会被追踪,但追踪势必消耗一定的资源,所以可以用raw表来指定某些端口的包不被追踪。

security表在centos 6中是没有的,它用于强制访问控制 (MAC)的网络规则。。

2.netfilter的5个链

5个链分别为PREROUTING、 INPUT、 FORWARD、 OUTPUT、 POSTROUTING

  • REROUTING:数据包进人路由表之前。用于目标地址转换(DNAT)。

  • INPUT:通过路由表后目的地为本机。处理输入数据包

  • FORWARDING:通过路由表后,目的地不为本机。处理转发数据包。

  • OUTPUT:由本机产生,向外转发。处理输出数据包。

  • POSTROUTIONG:发送到网卡接口之前。用于源地址转换(SNAT)。

iptables和netfilter的关系:

iptables和netfilter的关系是一个很容易让人搞不清的问题。很多的知道iptables却不知道 netfilter。其实iptables只是Linux防火墙的管理工具而已,位于/sbin/iptables。真正实现防火墙功能的是 netfilter,它是Linux内核中实现包过滤的内部结构。

iptables传输数据包的过程

① 当一个数据包进入网卡时,它首先进入PREROUTING链,内核根据数据包目的IP判断是否需要转送出去。  ② 如果数据包就是进入本机的,它就会沿着图向下移动,到达INPUT链。数据包到了INPUT链后,任何进程都会收到它。本机上运行的程序可以发送数据包,这些数据包会经过OUTPUT链,然后到达POSTROUTING链输出。  ③ 如果数据包是要转发出去的,且内核允许转发,数据包就会如图所示向右移动,经过FORWARD链,然后到达POSTROUTING链输出。

技术分享图片

 

iptables的规则表和链:

 表(tables)提供特定的功能,iptables内置了4个表,即filter表、nat表、mangle表和raw表,分别用于实现包过滤,网络地址转换、包重构(修改)和数据跟踪处理。

 链(chains)是数据包传播的路径,每一条链其实就是众多规则中的一个检查清单,每一条链中可以有一 条或数条规则。当一个数据包到达一个链时,iptables就会从链中第一条规则开始检查,看该数据包是否满足规则所定义的条件。如果满足,系统就会根据 该条规则所定义的方法处理该数据包;否则iptables将继续检查下一条规则,如果该数据包不符合链中任一条规则,iptables就会根据该链预先定 义的默认策略来处理数据包。

 iptables采用“表”和“链”的分层结构。在REHL4中是三张表五个链。现在REHL5成了四张表五个链了,不过多出来的那个表用的也不太多,所以基本还是和以前一样。下面罗列一下这四张表和五个链。注意一定要明白这些表和链的关系及作用。

技术分享图片

10.14 iptables语法

iptables是一个非常复杂和功能丰富的工具,所以它的语法也是很有特点的。下面就给大家介绍几种常用的语法。

查看规则:iptables –nvL。其中-n表示不针对IP反解析主机名,-L表示列出,-v表示列出的信息更加详细。

技术分享图片

重启规则:service restart iptables.service

技术分享图片

防火墙规则保存在/etc/sysconfig/iptables中

技术分享图片

清空规则:iptables -F 。如果不加-t指定表,默认只清楚filter表的规则。iptables文件里还有,重启规则后会恢复。

技术分享图片

保存规则:service iptables save

技术分享图片

-t指定表 iptables -t nat:如果不加-t选项,则显示的filter表的相关信息。

技术分享图片

把计数器清零:iptables  -Z。把包以及流量计数器清零。

技术分享图片

增加/删除一条规则,其用法如下:

iptables -A INPUT -s 192.168.188.1 -p tcp --sport 1234 -d 192.168.188.128 --dport 80 -j DROP

  • -A/-D:表示增加/删除一条规则。在指定链的末尾添加(append)一条新的规则

  • -I:在指定链中插入(insert)一条新的规则。例:iptables -I INPUT 1 --dport 80 -j ACCEPT,默认在第一行添加

  • -p:表示指定协议,可以是tcp、udp或者icmp。

  • --dport:跟-p一起使用,表示指定目标端口。

  • --sport:跟-p一起使用,表示指定源端口。

  • -s:表示指定源IP(可以是一个IP段)。

  • -d:表示指定目的IP(可以是一个IP段)。

  • -j: 后面跟动作,其中ACCEPT表示允许包,DROP表示丢掉包,REJECT表示拒绝包。

  • -i:表示指定网卡

  • -v:查看规则表详细信息(verbose)的信息

  • -L/S:列出指定链或所有链的规则。

  • -F :删除指定链或所有链的规则

  • -N :创建用户自定义链。例:iptables -N allowed

  • -X :删除指定的用户自定义链

  • -P :为指定链设置默认规则策略,对自定义链不起作用。例:iptables -P OUTPUT DROP

  • -Z :将指定链或所有链的计数器清零

  • -E :更改自定义链的名称。例:iptables -E allowed disallowed,不改变链本身

  • -n :ip地址和端口号以数字方式显示。例:iptables -Ln

技术分享图片

iptables -I INPUT -p tcp --dport 80 -j DROP

技术分享图片

有时候服务器上的iptables过多了,你想删除某一条规则,但又不容易掌握创建时的规则。其实有一种比较简单的方法,根据编号来删除规则。

打印规则的序列号:iptables -nvL --line-numbers

技术分享图片

删除某一条规则

技术分享图片

指定网卡规则:

iptables -I INPUT -s 192.168.1.0/24 -i eth0 -j ACCEPT

技术分享图片

预设策略:iptables –P INPUT DROP

-P后面跟链名,策略内容或为DROP,或ACCEPT,默认是ACCEPT。注意:如果你在连接远程服务器,千万不要随便执行这个命令,因为一旦输入命令并回车,远程服务器就会被断开。

这个策略一旦设定后,只有使用命令iptables –P INPUT ACCEPT才能恢复成原始状态。


2018-3-811周3次课

11.32php扩展模块装安查看模块安装一个redis的模块下载一个包查看扩展模块存放目录,可以在php.ini中去自定义该路径扩展apacherewrite教程http://coffeelet.blog.163.com/blog/static/13515745320115842755199/http://www.cnblogs.com/top5/archive/2009/08/12/154409 查看详情

2018.3.1412周3次课

十二周三次课 (3月14日)12.10Nginx访问日志12.11Nginx日志切割12.12静态文件不记录日志和过期时间12.10Nginx访问日志日志格式:vim/usr/local/nginx/conf/nginx.conf //搜索log_format,注意配置文件中,分号;是结束符combined_realip:日志格式... 查看详情

2018.3.210周3次课

十周三次课(3月2日)11.18Apache用户认证11.19/11.20域名跳转11.21Apache访问日志11.18Apache用户认证这个功能就是在用户访问网站的时候,需要输人用户名密码才能顺利访问。一些比较重要的站点或者网站后台通常会加上用户认证,目... 查看详情

2018.3.1312周2次课

十二周二次课(3月13日)12.6Nginx安装12.7默认虚拟主机12.8Nginx用户认证12.9Nginx域名重定向12.6Nginx安装下载和解压:cd/usr/local/srcwgethttp://nginx.org/download/nginx-1.13.9.tar.gztar-zxvfnginx-1.13.9.tar.gz配置编译选项cdnginx-1.13.9 ./configu 查看详情

2018.3.2313周5次课

十三周五次课(3月23日)13.4mysql用户管理13.5常用sql语句13.6mysql数据库备份恢复13.4mysql用户管理MySQL创建用户以及授权授权给ipgrantallon*.*to'user1'@'127.0.0.1'identifiedby'passwd';all表示所有的权限(如读、写、查询、删除... 查看详情

2018.3.3014周5次课

十四周五次课(3月30日)16.4配置Tomcat监听80端口16.5/16.6/16.7配置Tomcat虚拟主机16.8Tomcat日志16.4配置Tomcat监听80端口在生产环境中,tomcat会使用8080端口,而80端口是留给nginx,如果需要使用80端口,那要先停止nginx服务才能使用80端口... 查看详情

2018.3.2614周1次课

十四周一次课(3月26日)14.1NFS介绍14.2NFS服务端安装配置14.3NFS配置选项14.1NFS介绍NFS是NetworkFileSystem的缩写NFS最早由Sun公司开发,分2,3,4三个版本,2和3由Sun起草开发,4.0开始Netapp公司参与并主导开发,最新为4.1版本NFS数据传输基... 查看详情

2018.3.110周2次课

十周第二次课(3月1日)11.14/11.15Apache和PHP结合11.16/11.17Apache默认虚拟主机11.14/11.15Apache和PHP结合配置httpd支持phphttpd主配置文件/usr/local/apache2.4/conf/httpd.confvim/usr/local/apache2.4/conf/httpd.conf //修改以下4个地方Server 查看详情

2018.3.2914周4次课

十四周四次课(3月29日)16.1Tomcat介绍16.2安装jdk16.3安装Tomcat16.1Tomcat介绍Tomcat是Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。java程序写的网站用tomcat+jdk... 查看详情

2018.3.811周3次课

十一周三次课(3月8日)11.32php扩展模块安装11.32php扩展模块安装编译httpd时,有涉及动态和静态模块,其实PHP也一样有这样的说法。在本章讲述PHP安裝时,所有的模块全部都为静态,并没有任何动态的模块。所谓动态,就是一个... 查看详情

2017.12.273周3次课

三周第三次课(12月27日)3.7su命令3.8sudo命令3.9限制root远程登录3.7su命令su命令就是切换用户的工具,通过su可以在用户之间切换,如果超级权限用户root向普通用户切换不需要密码,而普通用户切换到其它任何用户都需要密码验证... 查看详情

2018.3.2814周3次课

十四周三次课(3月28日)15.4xshell使用xftp传输文件15.5使用pure-ftpd搭建ftp服务15.4xshell使用xftp传输文件Ctrl+Alt+F点下载xftp填写好后会把下载链接发到你填写的邮箱,到邮箱里点下载链接下载,安装安装好后,在xshell里按Ctrl+Alt+F左边... 查看详情

2018.3.1612周5次课

十二周五次课(3月16日)12.17Nginx负载均衡12.18ssl原理12.19生成ssl密钥对12.20Nginx配置ssl12.17Nginx负载均衡后端web服务器可以有多台,就可以实现负载均衡upstream来指定多个webserver查看解析域名的ip命令:dig安装dig命令:yuminstall-ybind-ut... 查看详情

2017.12.202周3次课

2017.12.20二周第三次课2.14文件和目录权限chmod命令chmod(changemode的简写)用于改变用户对文件/目录的读写执行权限其格式为:chmod[-R]xyz文件名(这里的xyz表示数字)。其中,·-R选项的作用等同于chown命令的一R选项,也表示级联更... 查看详情

2018.1.44周3次课

四周第三次课(1月4日)5.5进入编辑模式 5.6vim命令模式5.7vim实践5.5进入编辑模式 编辑模式的使用i     在当前字符前插入I     在光标所在行的行首插入a     在当前字... 查看详情

2018.3.1212周1次课

十二周一次课(3月12日)12.1LNMP架构介绍12.2MySQL安装12.3/12.4PHP安装12.5Nginx介绍12.1LNMP架构介绍和LAMP唯一不同的是,LNMP中的N指的是Nginx(类似于Apache的一种web服务软件)。目前这种环境的应用也非常多。Nginx设计的初衷是提供一种... 查看详情

2018-3-210周3次课

11.18Apache用户认证加密添加用户访问访问之前在Windows的hosts里添加一个111.com然后在浏览器里访问,就让你输入网站用户验证了用curl访问输入用户认证如下用户认证还有个需求如下11.19/11.20域名跳转打开虚拟主机配置文件如下上图... 查看详情

2018.3.611周1次课

十一周一次课(3月6日)11.25配置防盗链11.26访问控制Directory11.27访问控制FilesMatch11.25配置防盗链通过限制referer来实现防盗链的功防盗链,通俗讲,就是不让别人盗用你网站上的资源。这个资源,通常指的是图片、视频、歌曲、文... 查看详情