在centOS 7 中,我们使用的网卡为ens33 ,但是在centOS 6或者更往前的版本使用的是eth0。
有时候我们通过远程连接工具连接服务器,如果必须重启某个特定的网卡我们需要这样操作:
在日常的运维当中,有时候我们需要对一台服务器设定多个IP,此时我们需要用到虚拟网卡:
然后去编辑NAME,DEVICE,IPADDR为不同的名称,NETMASK 和 GATEWAY取决不同的情况! 然后再次重启一下网卡既可以看到咱们新建的虚拟网卡。
如果人不在机房,如何远程查看服务器有没有链接网线呢?
设置linux服务器的hostname
配置文件在 # cat /etc/hostname 我们的DNS配置文件在:# cat /etc/resolv.conf 如果我们只是临时去更改DNS可以直接编辑此文件,但是重启机器就会失效(此文件的参数是从咱们网卡设置的DNS里面直接读取的)
这个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,只是在本机生效!!
[[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
1.PREROUTING: 当进来的时候,对数据包进行操作。 2.POSTROUTING: 当数据包出去的时候,对数据包进行操作。
① 当一个数据包进入网卡时,它首先进入PREROUTING链,内核根据数据包目的IP判断是否需要转送出去。 ② 如果数据包就是进入本机的,它就会沿着图向下移动,到达INPUT链。数据包到了INPUT链后,任何进程都会收到它。本机上运行的程序可以发送数据包,这些数据包会经过OUTPUT链,然后到达POSTROUTING链输出。 ③ 如果数据包是要转发出去的,且内核允许转发,数据包就会如图所示向右移动,经过FORWARD链,然后到达POSTROUTING链输出。
如果是本机的数据包,首先会经过PREROUTING–>INPUT–>OUTPUT–>POSTROUTING。 如果不是本机的数据包,则只会经过PREROUTING–>FORWARD–>POSTROUTING。
#service iptables save (我们设置好了规则只是临时保存在了内存中,要想重启不消失,就需要执行此命令) #cat /etc/sysconfig/iptables (规则全部保存在此) #iptables -F (临时全部清除规则,重启后原本的规则即会恢复) #iptables -Z (清除计数器) #service iptables restart (重启iptables服务)
#iptables -t nat -nvL (查看nat的规则) #iptables -t filter -nvL (查看filter的规则,通常不指定filter默认即为filter)
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.补充说明: 如果规则中有多条规则几乎相似,一旦遇到符合的规则立即执行,后面的也就不执行了!