10.11 Linux网络相关

1. ifconfig查看网卡ip(如果没有这个命令请使用yum install net-tools安装)

5月8日 

2、重启网卡:

命令:service network restart或者ifdown eth0 && ifup eth0

5月8日 

ifdown 即停掉网卡,ifup即启动网卡。有一点要提醒你的是,如果我们远程登录服务器,当使用ifdown eth0这个命令的时候,很有可能后面的命令ifup eth0不会被运行,这样导致我们断网而无法连接服务器,所以请尽量使用 service network restartifdown eno16777736 &&ifup eno16777736 可以单独重启指定的某张网卡而不是重启整个网络服务)这个命令来重启网卡

3.一个网卡设定多个IP

设定虚拟网卡eth0:1 

3.1 先进入:cd /etc/sysconfig/network-scripts/ 

3.2 再拷贝备份网卡:cp ifcfg-eth0 ifcfg-eth0\:1  //复制网卡配置文件,并取一个新的网卡名,这里加反斜杠(\)是因为要把:转义,不然linux命令无法识别。

3.3 然后编辑网卡配置信息:vim ifcfg-eth0:1

5月8日 

3.4 配置ifcfg-eth0添加另外的IP地址如下:

TYPE=Ethernet BOOTPROTO=static DEFROUTE=yes PEERDNS=yes PEERROUTES=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_PEERDNS=yes IPV6_PEERROUTES=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=eth0:1 //这个地方要更改成前面设置的eth0:1 UUID=3c08189a-cb3f-4879-92de-ee0691b1d4cc DEVICE=eth0:1//这个地方要更改成前面设置的eth0:1 ONBOOT=yse IPADDR=192.168.1.190 //更改一个没有使用的IP NETMASK=255.255.0.0 GATEWAY=192.168.1.1 DNS1=119.29.29.29 DNS2=8.8.8.8

3.5 重启网卡查看多出来的网卡信息:ifdown eth0:1 &&ifup eth0:1

5月8日 

4、查看网卡是否连接 命令如下:

mii-tool eth0 //link ok表示连接正常,如果显示no link表示网卡坏了或没有连接网线

ethtool eth0 //最后一行显示link detectedyes说明网卡正常,如果显示为no,说明网卡坏或没有连接网线

5月8日 

5、更改主机名:hostnamectl set-hostname pme  (这个命令可以直接更改/ect/hostname文件 只适用centos7)

5月8日 

使用hostname命令就可以知道你的linux的主机名是什么。hostname pme命令这样修改只是保存在内存中,下次重启还会变成未改之前的主机名,所以需要你还要去更改相关的配置文件 /etc/hostname.

6.DNS配置文件: cat /etc/resolv.conf 

5月8日 

6.1 如果要修改dns,则要进网卡配置文件里面修改并重启网卡即可: 

vim /etc/sysconfig/network-scripts/ifcfg-eth0

5月8日 

6.2 临时更改DNS vim /etc/resolv.conf  

5月8日 

6.3  /etc/hosts

linux下有一个特殊文件/etc/hosts可能解析域名,不过需要我们在里面手动添加ip与域名,它的作用是临时解析某个域名,非常有用。

5月8日 

注意: 1. 一个IP后面可以跟多个域名,可以是几十个甚至上百个。 2. 一行只能有一个IP,也就是一个域名不能对应多个IP3. 如果有多行中出现相同的域名(对应的IP不一样),会按最前面出现的记录来解析

实验:

[[email protected] ~]# cat /etc/hosts //查看文件内容

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4

::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

[[email protected] ~]# ping www.qq123.com 

PING www.qq123.com (202.91.250.93) 56(84) bytes of data.

64 bytes from 202.91.250.93 (202.91.250.93): icmp_seq=1 ttl=231 time=30.3 ms

64 bytes from 202.91.250.93 (202.91.250.93): icmp_seq=2 ttl=231 time=30.2 ms

64 bytes from 202.91.250.93 (202.91.250.93): icmp_seq=3 ttl=231 time=30.2 ms

--- www.qq123.com ping statistics ---

3 packets transmitted, 3 received, 0% packet loss, time 2003ms

rtt min/avg/max/mdev = 30.227/30.284/30.395/0.162 ms

[[email protected] ~]# vim /etc/hosts //编辑文件把上面这个域名指向的ip更改成192.168.1.190 ,保存退出

[[email protected] ~]# ping www.qq123.com //验证域名指定IP

PING www.qq123.com (192.168.1.190) 56(84) bytes of data.

64 bytes from www.qq123.com (192.168.1.190): icmp_seq=1 ttl=64 time=0.152 ms

64 bytes from www.qq123.com (192.168.1.190): icmp_seq=2 ttl=64 time=0.086 ms

64 bytes from www.qq123.com (192.168.1.190): icmp_seq=3 ttl=64 time=0.060 ms


10.12 firewalld和netfilter

1. SElinux selinuxLinux系统特有的安全机制,因为这种机制的限制太多,配置也麻烦,所以几乎没有人真正的应用它。安装完系统后我们一般会选择关闭selinux

以使用 getenforce 命令获得当前selinux的状态

1selinux临时关闭 :setenforce 0 

5月8日 

2selinux永久关闭: vi /etc/selinux/config  /enforcing改成disabled)重启生效

5月8日 

3. netfilterfirewalld centos版本56上用的防火墙是netfilercentos7则用的是firewalld防火墙,很多人把Linux的防火墙叫作iptables,其实这不是,iptables仅仅是一个工具。目前现在很多企业依然在使用centos6,但firewalld是向下兼容netfiler的,同样也支持之前版本的命令用法。

3.1 关闭firewalld开启netfilter方法 

1systemctl disable firewalled //禁止firewalld服务开机启动

2systemctl stop firewalld   //关闭firewalld服务

3yum install -y iptables-services  //安装iptables-services,这样就可以使用之前版本的iptables了。

4systemctl enable iptables  //让它开机启动

5systemctl start iptables  //启动iptables服务

 10.13 netfilter5表5链介绍

netfilter55链介绍  netfilter5个表 1. filter表用于过滤包,是系统预设的表,也是最常用的表,该表有内建三个链INPUT、   OUTPUTFORWARD - INPUT链作用于进入本机的包。 - OUTPUT链作用于本机送机的包。 - FORWARD链作用于那些跟本机无关的包。 2. nat表用于网络地址转换,有PREROUTINGOUTPUTPOSTROUTING三个链。 - PREROUTINC链的作用是在包刚刚到达防火墙时改变它的目的地址(如果需要的话) - OUTPUT链的作用是改变本地产生的包的目的地址。 - POSTROUTINC链的作用是在包即将离开防火墙时改变其源地址。 3. 数据包流向与netfilter5个链 - PREROUTING:数据包进入路由表之前。 - INPUT:通过路由表后目的地为本机。 - FORWARD:通过路由表后,目的地不为本机。 - OUTPUT:由本机产生,向外发出。 - POSTROUTING:发送到网卡接口之前。 4. 具体的数据包流向,可以参考下图。

5月8日 

5.参考文章iptables详解: http://www.cnblogs.com/metoy/p/4320813.html

iptables简介

       netfilter/iptables(简称为iptables)组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火墙解决方案,完成封包过滤、封包重定向和网络地址转换(NAT)等功能。

 

iptables基础

 

       规则(rules)其实就是网络管理员预定义的条件,规则一般的定义为如果数据包头符合这样的条件,就这样处理这个数据包。规则存储在内核空间的信息 包过滤表中,这些规则分别指定了源地址、目的地址、传输协议(如TCPUDPICMP)和服务类型(如HTTPFTPSMTP)等。当数据包与规 则匹配时,iptables就根据规则所定义的方法来处理这些数据包,如放行(accept)、拒绝(reject)和丢弃(drop)等。配置防火墙的 主要工作就是添加、修改和删除这些规则。

 

iptablesnetfilter的关系:

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

 

10.14 iptables语法

1. iptables已经有默认规则,我们可以用以下命令查看。但是我们在设置自己的规则之前,建议先将其清除-nvL选项表示查看规则,-F选项表示清除当前规则,但清除只是临时的,重启还是会加载已经保存的规则,所以需要使用service iptables save保存一下规则。通过下面这个命令输出,我们也可以看到防火墙规则保存在/etc/sysconfig/iptables里,可以查看下这个文件。

1.1 查看iptables规则:iptables -vnL

5月8日 

1.2 清空规则命令:iptables -F   

1.3 永久保存规则命令: service iptables save 会把规则保存到 /etc/sysconfig/iptables

5月8日 

1.4 命令: iptables -t nat //  -t 指定表(不加t,默认就是filter表)

1.5 命令:iptables -Z   //-Z把包和流量计数器清零

 

1.6 增加一条规则: 

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

5月8日 

1.7. iptables -I INPUT -s 1.1.1.1 -j DROP //表示插入一条规则,丢掉所有来自1.1.1.1的数据包。 1.8 iptables -A INPUT -s 1.1.1.1 -j DROP //表示增加一条规则 1.9  iptables -D INPUT -s 1.1.1.1 -j DROP //注意删除一条规则时,必须和插入的规则一致。 1.10 iptables -I INPUT -s 192.168.1.0/24 -i eth0 -j ACCEPT //表示把来自192.168.1.0/24这个网段且作用在etho上的包放行。 2.1 有时候服务器上的iptables过多了,你想删除一某一条规则,但又不知道之前创建时的规则(通过编号去删除),你可先查看iptables规则,命令如下:

2.1.1 在规则前用编号显示出来: iptables -nvL --line-numbers   (注意line前是双横线)

5月8日 

2.1.2删除编号为1的规则: iptables -D INPUT 2

5月8日 

3.默认规则: iptables -P INPUT DROP  说明:-P后面跟链名,策略内容或为DROP,或为ACCEPT,默认是ACCEPT。注意:如果你在连接远程服务器,千万不要随便执行这个命令,因为一旦输入命令并回车,远程连接会被断开。这个策略一旦设定成功后,只有使用命令iptables -P INPUT ACCEPT才能恢复成原始状态

4.总结:

-A/-D :增加删除一条规则;

-I :插入一条规则,其实跟-A的效果一样;

-p :指定协议,可以是tcpudp或者icmp

–dport :跟-p一起使用,指定目标端口;

–sport :跟-p一起使用,指定源端口;

-s :指定源IP(可以是一个ip段);

-d :指定目的IP(可以是一个ip段);

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

-i :指定网卡(不常用,但有时候能用到)