日常运维管理(三)

一、网络相关 :

yum install -y net-tools

#ifconfig -a :查看全部的网卡信息

在centOS 7 中,我们使用的网卡为ens33 ,但是在centOS 6或者更往前的版本使用的是eth0。

#ifdown ens33 :关闭ens33这个网卡

#ifup ens33 :打开ens33这个网卡

有时候我们通过远程连接工具连接服务器,如果必须重启某个特定的网卡我们需要这样操作:

#ifdown ens33 && ifup ens33

在日常的运维当中,有时候我们需要对一台服务器设定多个IP,此时我们需要用到虚拟网卡:

#cd /etc/sysconfig/network-scripts/ :先切换到此目录

#cp ifcfg-ens33 ifcfg-ens33\ :0 (一定不要忘记\去脱意:)

#vim ifcfg-ens33:0

然后去编辑NAME,DEVICE,IPADDR为不同的名称,NETMASK 和 GATEWAY取决不同的情况! 然后再次重启一下网卡既可以看到咱们新建的虚拟网卡。

如果人不在机房,如何远程查看服务器有没有链接网线呢?

#mii-tool ens33

设置linux服务器的hostname

#systemctl set-hostname zhdy-03 (设置服务器的hostname为zhdy-03)

配置文件在 # cat /etc/hostname 我们的DNS配置文件在:# cat /etc/resolv.conf 如果我们只是临时去更改DNS可以直接编辑此文件,但是重启机器就会失效(此文件的参数是从咱们网卡设置的DNS里面直接读取的)

#cat /etc/hosts

这个hosts文件在后期我们使用LAMP的时候会用到。

[[email protected]02 ~]# vim /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.30.121 www.baidu.com

临时解析 baidu.com的地址为192.168.30.121,只是在本机生效!!


二、firewalld和 netfilter :

[[email protected] ~]# vi /etc/selinux/config 


# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled

永久关闭SELINUX 查看目前的一个状态:#getenforce #setenforce 0 临时关闭SELINUX

目前主流公司用的版本一般都是CentOS 7 (firewalld),但是还是会有一些公司用6或者5(netfilter).所以我们这两个我们都需要掌握!

针对CentOS7系统,默认的防火墙机制是firewalld,(当使用iptables -nvL 发现有很多表链的时候使用如下关闭firewalld)但是如果你想不用firewalld而选择使用centos 6里面的netfilter也是可以的!

# systemctl disable firewalld :先停掉firewalld
# systemctl stop firewalld :关闭服务
# yum install -y iptables-services:安装服务
# systemctl enable iptables :先启用iptables
# systemctl start iptables :启动服务

查看iptables的规则# iptables -nvL


三、netfilter5表 5链 :

filter :

  1. INPUT: 数据包进来时候经过的链(可以选择禁止某些访问80端口的IP)
  2. FORWARD: 把到达本地的数据包转发到指定的机器( 转发)
  3. OUTPUT: 本机所要发出的数据包,在出去前所做的操作

nat :

1.PREROUTING: 当进来的时候,对数据包进行操作。 2.POSTROUTING: 当数据包出去的时候,对数据包进行操作。

iptables传输数据包的过程

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

总结一下:

如果是本机的数据包,首先会经过PREROUTING–>INPUT–>OUTPUT–>POSTROUTING。 如果不是本机的数据包,则只会经过PREROUTING–>FORWARD–>POSTROUTING。


四、iptables语法详解 :

1. 查看iptables默认规则:#iptables -nvL


2.有时候当我们重启了iptables之后发现其规则没有消失,什么原因呢?

#service iptables save (我们设置好了规则只是临时保存在了内存中,要想重启不消失,就需要执行此命令) #cat /etc/sysconfig/iptables (规则全部保存在此) #iptables -F (临时全部清除规则,重启后原本的规则即会恢复) #iptables -Z (清除计数器) #service iptables restart (重启iptables服务)


3. #iptables -t

#iptables -t nat -nvL (查看nat的规则) #iptables -t filter -nvL (查看filter的规则,通常不指定filter默认即为filter)


4. 实战练习:

1.练习①

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

详细解说:
-A:add 增加一个规则;
INPUT:INPUT链;
-s:source指定来源IP
-p:指定协议(tcp,udp,icmp)
--sport:来源端口
-d:destination 目的IP
--dport:目标端口(80;22)
-j:操作(DROP:丢弃;ACCEPT:接受;REJECT:拒绝)

练习②

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

详细解说:
-I:insert 插入一个规则,优先级高于-A;一般使用-A的规则都会放在最后,使用-I的规则都会放在首位;

练习③

#iptables -D INPUT -p tcp --dport 80 -j DROP

详细解说:
-D:delete 删除一个规则;删除时候要和输入的命令一模一样才可以删除;
如果时间过长忘记了,不建议使用此类型去删除,使用如下命令删除。

练习④

[[email protected]01 ~]# iptables -nvL --line-number
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1    10830 6426K ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
2        1    80 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0           
3       52  7750 INPUT_direct  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
4       52  7750 INPUT_ZONES_SOURCE  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
5       52  7750 INPUT_ZONES  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
6        0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate INVALID
7       51  7690 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited

详细解说:
--line-number:显示行号;

练习⑤

#iptables -D INPUT 7

详细解说:
-D:delete 删除第7条规则;

练习⑥

#iptables -I INPUT -s 192.168.1.0/24 -i ens33 -j ACCEPT

详细解说:
-i:指定网卡;
-s:我们也可以指定一个范围;

练习⑦

#iptables -P INPUT DROP

详细解说:
-P:预设策略(默认的均为ACCEPT,安全性较高,但是一旦输入如上命令,咱们的远程软件就不可以连接服务器了)

2.补充说明: 如果规则中有多条规则几乎相似,一旦遇到符合的规则立即执行,后面的也就不执行了!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏北京马哥教育

神技能 | 手把手教您把CentOS7服务器变成上网路由器

网络拓扑图及说明 说明 服务器通过静态IP上网,外网连接eth0口,IP为200.0.0.2;eth1口连接内网交换机,内网网段为192.168.10.1/24...

4137
来自专栏javathings

Java NIO 之 FileChannel

从 JDK1.4 开始(2002 年发布的),Java 提供了 NIO ,主要包含在 java.nio 软件包及其子包中,并被命名为 New I/O(NIO)距...

1112
来自专栏L宝宝聊IT

Linux防火墙基础与编写防火墙规则

2907
来自专栏JetpropelledSnake

Linux学习笔记之Linux最小化安装启动后如何配置

在VM虚拟机中安装CentOS 7 时 有时候顾虑到电脑硬件性能,我们需要最小化安装,而最小化安装后与centos6的版本是有一些差异的,接下来我们就对刚安装好...

2903
来自专栏猛牛哥的博客

CentOS 修改SSH端口

3726
来自专栏Linux运维学习之路

iptables网络安全服务详细使用

iptables防火墙概念说明 开源的基于数据包过滤的网络安全策略控制工具。 centos6.9  --- 默认防火墙工具软件iptables centos7 ...

2365
来自专栏Laoqi's Linux运维专列

linux抵御DDOS攻击 通过iptables限制TCP连接和频率

5143
来自专栏Netkiller

Linux 系统安全与优化配置

Linux 系统安全与优化配置 Linux 系统安全问题 ---- 目录 1. Openssh 安全配置 1.1. 禁止root用户登录 1.2. 限制SSH验...

3214
来自专栏会跳舞的机器人

ZooKeeper集群搭建

Zookeeper集群中只要有过半的节点是正常的情况下,那么整个集群对外就是可用的。正是基于这个特性,要将 ZK 集群的节点数量要为奇数(2n+1),如 3、5...

4032
来自专栏刺客博客

快速搭建Aria2-Web管理界面

1.5K5

扫码关注云+社区