1.linux网络相关
ifconfig 查看网卡ip (centos6是默认有的,centos7里没有,需要下载 yum install net-tloos)
关闭网卡: ifdown +网卡 (关闭后没有ip)
打开网卡 ifup +网卡
重启指定的网卡。如果网卡正在远程连接,不要直接ifdown网卡,如果服务器不在身边,过程很繁琐,
应该执行 ifdown +网卡 && ifup +网卡
设置一个虚拟网卡的步骤:
1.到网卡配置目录
[root@abc ~]# cd /etc/sysconfig/network-scripts/
2.拷贝真实的网卡,注意改名:
[root@abc network-scripts]# cp ifcfg-ens33 ifcfg-ens33\:0
3.编辑虚拟网卡配置文件:(需要改以下配置)
NAME=ens33:0
DEVICE=ens33:0
IPADDR=192.168.52.50
去掉dns和网关
4.重新启动服务,也可以重新启动网卡
ifdown ens33 && ifup ens33
mii-tool +网卡名字 看看是否为link ok
也可以用ethtool +网卡名 查看最后一行link detected是否为yes
修改hostname
永久修改命令
[root@abc ~]# hostnamectl set-hostname + 自定义名字
退出当前环境从新登陆即可查看,或者直接查看/etc/hostname
[root@abc ~]# cat /etc/hostname
litongyao
dns配置文件
[root@abc network-scripts]# cat /etc/resolv.conf
# Generated by NetworkManager
search abc.com
nameserver 119.29.29.29 (是由网卡配置文件里来的)
/etc/hosts
ip + 域名(可以是多个域名,如果是多个ip的话。以靠文件后的一个为准)
hosts文件的作用相当于DNS,提供IP地址hostname的对应。早期的互联网计算机少,单机hosts文件里足够存放所有联网计算机。不过随着互联网的发展,这就远远不够了。于是就出现了分布式的DNS系统。由DNS服务器来提供类似的IP地址到域名的对应。Linux系统在向DNS服务器发出域名解析请求之前会查询/etc/hosts文件,如果里面有相应的记录,就会使用hosts里面的记录。
2.linux防火墙
selinux临时关闭
getenforce 查看Linux关闭或打开
setenforce 0
##设置SELinux 成为permissive模式,遇到需要阻断的时候,不会真的阻断,而是会提醒并记录
selinux 1
##设置SELinux 成为enforcing模式,打开selinux
永久关闭
[root@abc network-scripts]# vim /etc/selinux/config
SELINUX=disabled
另外一个防火墙。centos7之前的版本使用netfilter,centos7的时候使用firewalld 内部机制都是-->iptables
一般都处于关闭状态,不会有太大的安全隐患。打开会增加我们的运营成本。在centos7上也可以运行netfilter,需要关闭firewalld并让它开机不启动。
[root@abc network-scripts]# systemctl disable firewalld
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service.
[root@abc network-scripts]# systemctl stop firewalld
然后安装netfilter
[root@abc network-scripts]# yum install -y iptables-services
打开netfilter
[root@abc ~]# systemctl start iptables
3.
netfilter的5个表,
(一)filter表用于过滤包,包含了三个内置链,
-
INPUT 数据包进来本机的时候要经过的链
-
FORWARD 目标地址不是本机的话,要经过的链
-
OUTPUT 在本机的包出去之前要经过的链
(二)nat表用于网络地址转换,也包含了三个链。()
-
PREROUTING 进来的一刻更改数据包
-
OUTPUT 在本机的包出去之前要经过的链
-
PUSTROUTING 出去的一刻更改数据包
(三)mangle表 用于给数据包做标记,几乎用不到
(四)raw表可以实现不追踪某些数据包
(五)security在centos6中没有,用于强制访问控制(MAC)的网络规则
iptables传输数据包的过程
① 当一个数据包进入网卡时,它首先进入PREROUTING链,内核根据数据包目的IP判断是否需要转送出去。
② 如果数据包就是进入本机的,它就会沿着图向下移动,到达INPUT链。数据包到了INPUT链后,任何进程都会收到它。本机上运行的程序可以发送数据包,这些数据包会经过OUTPUT链,然后到达POSTROUTING链输出。
③ 如果数据包是要转发出去的,且内核允许转发,数据包就会如图所示向右移动,经过FORWARD链,然后到达POSTROUTING链输出。
参考文章:http://www.cnblogs.com/metoy/p/4320813.html
4.filter介绍
[root@abc ~]# iptables -nvL (查看iptable规则)
默认保存规则在/etc/sysconfig/iptables文件下保存
[root@abc ~]# iptables -F (清空规则,但是并不会保存在文件里,重启服务后规则又都回来了)
[root@abc ~]# service iptables save (保存新规则到文件里)
iptables -nvL -t //指定表 (查看指定表的规则,如果不指定表,则默认是filter表)
iptables -Z 可以把计数器清零 (可以把计数器清零)
iptables -nvL --line-number 显示规则的序列号(删除规则时直接加序列号即可,不用敲全部命令)
-A 增加规则到最后面 (一般而言,最后一条规则用于丢弃(DROP)所有数据包。)
-I 把规则插入到最前面 (过滤时优先过滤最前面的)
-D 删除规则
-P 默认的规则
-s 源地址,可以是ip地址,网络地址,主机名
-d 目标地址
-j 执行目标
-i 输入接口,指定了处理那个接口的数据包(-i eth0 指定经由eth0进入的数据包)!-i eth0 处理除 eth0以外的数据包
-o 输出接口,(和输入接口规则相同)
-p 指定规则,是tcp还是udp,如果不指定,则默认是all
--sport 源端口 可以指定端口号,或者端口名称,例如“-sport 22”“-sport ssh”
--dport 目的端口
DROP和REJECT都是把IP封掉,区别是:
DROP是数据包过来后看都不看直接扔掉
REJECT是数据包过来后看一下,然后礼貌的告诉你,对不起你不能进入
ACCEPT 允许进入