ifconfig查看网卡ip(yum install net-tools) //7默认没有,须要安装html
ifup ens33/ifdown ens33 //单独对某个指定网卡操做的时候用linux
ifdown ens33 && ifup ens33 //这样作安全vim
设定虚拟网卡ens33:1windows
mii-tool ens33 查看网卡是否链接centos
ethtool ens33 也能够查看网卡是否链接安全
更改主机名 hostnamectl set-hostname aminglinux服务器
DNS配置文件/etc/resolv.conf网络
/etc/hosts文件dom
1. ifconfig 查看网卡IPtcp
ifconfig相似与windows的ipconfig,不加任何选项和参数只打印当前网卡的IP相关信息(子网掩码、网关等)在以前的章节中曾经了解过。在windows下设置IP很是简单,然而在命令窗口下如何设置?这就须要去修改配置文件/etc/sysconfig/network-scripts/ifcfg-xxx了。这里的xxx指的是网卡的名字,可使用ip sddr命令查看全部网卡的名字。
若是Linux上有多个网卡,而只想重启某一个网卡的话,可使用这个命令:
ifdown ens33; ifup ens33
ifdown 即停掉网卡,ifup即启动网卡。有一点要提醒的是,若是咱们远程登陆服务器,当使用ifdown ens33这个命令的时候,颇有可能后面的命令ifup ens33不会被运行,这样致使咱们断网而没法链接服务器,因此请尽可能使用 service network restart 这个命令来重启网卡。
2. 给一个网卡设定多个IP
在linux系统中,网卡是能够设定多重IP的。
cd /etc/sysconfig/network-scripts/
而后编辑ifcfg-ens33:1 这个配置文件,内容以下,必定要注意 DEVICE 这里要写成 “ens33:1”
其实就是改一下NAME,DEVICE,IPADDR,设置完毕重启网卡,以下所示:
以后再查看网卡ip:
能够看到多了一个ip.
3. 查看网卡链接状态
只要看到 “link ok” 就说明网卡为链接状态,若是显示 “no link” 说明网卡坏掉了或者没有链接网线。
4. 更改主机名
https://jingyan.baidu.com/article/574c52192a1d8d6c8d9dc1ce.html
当装完系统后,默认主机名为localhost,使用hostname就能够知道所用的linux的主机名是什么:
[root@localhost ~]# hostname localhost.localdomain
一样使用hostname能够更改主机名:
[root@localhost ~]# hostname nan [root@localhost ~]# hostname nan
下次登陆时就会把命令提示符 [root@localhost ~] 中的 localhost 更改为 nan 不过这样修改只是保存在内存中,下次重启还会变成未改以前的主机名,因此还要去更改相关的配置文件 “etc/sysconfig/network”
[root@localhost ~]# vim /etc/sysconfig/network NETWORKING=yes HOSTNAME=nan.localdomain
hostnamectl set-hostname XXX 这种方法会自动更改文件内容
5. 设置DNS
DNS是用来解析域名用的,平时咱们访问网站都是直接输入一个网址,而dns把这个网址解析到一个IP。关于dns的概念,若是很陌生的话,那就去网上查一下吧。在linux下面设置dns很是简单,只要把dns地址写到一个配置文件中便可。这个配置文件就是/etc/resolv.conf
resolv.conf有它固有的格式,必定要写成 “nameserver IP” 的格式,上面那行以 ‘;’ 为开头的行是一行注释,没有实际意义,建议写两个或多个namserver ,默认会用第一个namserver去解析域名,当第一个解析不到时会使用第二个。在linux下面有一个特殊的文件/etc/hosts也能解析域名,不过是须要咱们手动在里面添加IP+域名这些内容,它的做用是临时解析某个域名,很是有用。
vim编辑该文件,填加一行192.168.174.1 www.baidu.com 保存后,再ping一下 www.baidu.com 就会到 192.168.174.1 了:
/etc/hosts 的格式很简单,每一行做为一条记录,分红两部分,第一部分是IP,第二部分是域名。关于hosts文件,有几点须要注意:
1)一个IP后面能够跟多个域名,能够是几十个甚至上百个;
2)每行只能有一个IP,也就是说一个域名不能对应多个IP;
3)若是有多行中出现相同的域名(前面IP不同),会按最前面出现的记录来解析。
(hosts解析是先解析的优先级高, 127.0.0.1是个特例,这个表明本地的IP的优先级高。 以先出现的记录为主, 这个文件也是从上到下依次执行的,一旦匹配到一个域名就直接解析了,即便后面再出现这域名也不生效了。 )
selinux临时关闭 setenforce 0
selinux永久关闭 vi /etc/selinux/config //SELINUX=enforcing 改为SELINUX=disabled
getenforce //查看状态
centos7以前使用netfilter防火墙
centos7开始使用firewalld防火墙
关闭firewalld开启netfilter方法
systemctl disable firewalled //不让开机启动
systemctl stop firewalld //关闭服务
yum install -y iptables-services
systemctl enable iptables
systemctl start iptables
iptables -nvL
10.13 netfilter5表5链介绍
netfilter的5个表
filter表用于过滤包,最经常使用的表,有INPUT、FORWARD、OUTPUT三个链
nat表用于网络地址转换,有PREROUTING、OUTPUT、POSTROUTING三个链
managle表用于给数据包作标记,几乎用不到
raw表能够实现不追踪某些数据包,基本历来不用
security表在centos6中并无,用于强制访问控制(MAC)的网络规则,阿铭没用过
参考文章 http://www.cnblogs.com/metoy/p/4320813.html
数据包流向与netfilter的5个链
PREROUTING:数据包进入路由表以前
INPUT:经过路由表后目的地为本机
FORWARD:经过路由表后,目的地不为本机
OUTPUT:由本机产生,向外发出
POSTROUTING:发送到网卡接口以前
查看iptables规则:iptables -nvL
iptables -F 清空规则
service iptables save 保存规则
iptables -t nat //-t指定表
iptables -Z 能够把计数器清零
iptables -A INPUT -s 192.168.188.1 -p tcp --sport 1234 -d 192.168.188.128 --dport 80 -j DROP
iptables -I INPUT -p tcp --dport 80 -j DROP
iptables -I/-A/-D INPUT -s 1.1.1.1 -j DROP
iptables -I INPUT -s 192.168.1.0/24 -i eth0 -j ACCEPT //指定行为
iptables -nvL --line-numbers //显示规则对应的数字,根据编号删除规则更方便
iptables -D INPUT 1
iptables -P INPUT DROP //一旦执行,就断开了,保持默认便可 P:默认策略policy
Iptables是linux上特有的防火墙机制,其功能很是强大,然而在平常的管理工做中仅仅用到了一两个应用,这并不表明iptables不重要。做为一个网络管理员,iptables是必要要熟练掌握的。可是做为系统管理员,咱们也应该会最基本的iptables操做,认识iptables的基本规则。
CentOS上默认是设有iptables规则的,这个规则虽然很安全,可是对于咱们来讲没有用,反而会形成某些影响,因此建议先清除规则,而后把清除后的规则保存一下:
-nvL 就是查看规则, -F 是把当前规则清除,但这个只是临时的,重启系统或者重启 iptalbes 服务后还会加载已经保存的规则,因此须要使用 /etc/init.d/iptables save 保存一下规则(service iptables save),经过上边的命令输出咱们也能够看到,防火墙规则保存在了/etc/sysconfig/iptables 能够查看一下这个文件。重启服务能够加载回来service iptables restart
1)iptalbes的三个表
filter 这个表主要用于过滤包的,是系统预设的表,这个表用的最多的。内建三个链INPUT、OUTPUT以及FORWARD。INPUT做用于进入本机的包;OUTPUT做用于本机送出的包;FORWARD做用于那些跟本机无关的包。
nat 主要用处是网络地址转换,也有三个链。PREROUTING 链的做用是在包刚刚到达防火墙时改变它的目的地址,若是须要的话。OUTPUT链改变本地产生的包的目的地址。POSTROUTING链在包就要离开防火墙以前改变其源地址。该表用的很少,但有时候会用到。
mangle 这个表主要是用于给数据包打标记,而后根据标记去操做哪些包。这个表几乎不怎么用。除非想成为一个高级网络工程师,不然就没有必要花费不少心思在它上面。
2)iptables 基本语法
A. 查看规则以及清除规则
[root@localhost ~]# iptables -t nat -nvL
-t 后面跟表名,-nvL 即查看该表的规则,其中-n表示不针对IP反解析主机名;-L表示列出的意思;而-v表示列出的信息更加详细。若是不加-t ,则打印filter表的相关信息:
[root@localhost ~]# iptables -nvL
这个和-t filter 打印的信息是同样的。
关于清除规则的命令中,用的最多就是:
[root@localhost ~]# iptables -F [root@localhost ~]# iptables -Z
不加-t默认是针对表filter来操做的,-F 表示把全部规则所有删除;-Z表示把包以及流量计数器置零(这个颇有用)。
B. 增长/删除一条规则
# iptables -A INPUT -s 10.72.11.12 -p tcp --sport 1234 -d 10.72.137.159 --dport 80 -j DROP
这就是增长了一条规则,省略-t因此针对的是filter表。-A 表示增长一条规则,另外还有-I 表示插入一条规则,-D删除一条规则;后面的INPUT即链名称,还能够是OUTPUT或者FORWORD;-s 后跟源地址;-p 协议(tcp, udp, icmp); --sport/--dport 后跟源端口/目标端口;-d 后跟目的IP(主要针对内网或者外网);-j 后跟动做(DROP即把包丢掉,REJECT即包拒绝;ACCEPT即容许包)。下面再举几个例子以便理解:
[root@localhost ~]# iptables -I INPUT -s 1.1.1.1 -j DROP
上例表示:插入一条规则,把来自1.1.1.1的全部数据包丢掉。
[root@localhost ~]# iptables -D INPUT -s 1.1.1.1 -j DROP
删除刚刚插入的规则。注意要删除一条规则时,必须和插入的规则一致,也就是说,两条iptables命令,除了-I 和-D不同外,其余地方都同样。
[root@localhost ~]# iptables -I INPUT -s 2.2.2.2 -p tcp --dport 80 -j DROP
上例表示把来自2.2.2.2 而且是tcp协议到本机的80端口的数据包丢掉。这里要说的是,--dport/--sport 必需要和-p选项一块儿使用,不然会出错。
[root@localhost ~]# iptables -I OUTPUT -p tcp --dport 22 -d 10.0.1.14 -j DROP
这条规则表示,把发送到10.0.2.34的22端口的数据包丢掉。
至于FORWORD链的应用几乎不多用,因此再也不举例。再总结一下各个选项的做用:
-A/-D :增长删除一条规则;
-I :插入一条规则,其实跟-A的效果同样;
-p :指定协议,能够是tcp,udp或者icmp;
--dport :跟-p一块儿使用,指定目标端口;
--sport :跟-p一块儿使用,指定源端口;
-s :指定源IP(能够是一个ip段);
-d :指定目的IP(能够是一个ip段);
-j :后跟动做,其中ACCEPT表示容许包,DROP表示丢掉包,REJECT表示拒绝包;
-i :指定网卡(不经常使用,但有时候能用到);
[root@localhost ~]# iptables -A INPUT -s 192.168.1.0/24 -i ens33 -j ACCEPT [root@localhost ~]# iptables -nvL |grep '192.168.1.0/24' 0 0 ACCEPT all -- ens33 * 192.168.1.0/24 0.0.0.0/0
上例中表示,把来自192.168.1.0/24这个网段的而且做用在ens33上的包放行。有时候服务器上iptables过多了,想删除某一条规则时,又不容易掌握当时建立时的规则。其实有一种比较简单的方法:
[root@localhost ~]# iptables -nvL --line-numbers Chain INPUT (policy ACCEPT 133 packets, 9740 bytes) num pkts bytes target prot opt in out source destination 1 0 0 ACCEPT all -- ens33 * 192.168.1.0/24 0.0.0.0/0
删除某一条规则使用以下命令:
[root@localhost ~]# iptables -D INPUT 1
-D 后跟链名,而后是规则num,这个num就是查看iptables规则时第一列的值。再次查看刚才的规则,已经没有了:
[root@localhost ~]# iptables -nvL --line-numbers
iptables还有一个选项常常用到,-P(大写)选项,表示预设策略。用法以下:
[root@localhost ~]# iptables -P INPUT DROP
-P后面跟链名,策略内容或者为DROP或者为ACCEPT,默认是ACCEPT。注意:若是在链接远程服务器,千万不要随便敲这个命令,由于一旦敲完回车就会断掉。
(进本机的包,一般状况下目标地址就是本机的ip。 但若是你这台机器作的角色是一台路由器,那目标地址就是其余机器,跟本机没有关系了。)