Linux网络相关

笔记内容:

l 10.11 Linux网络相关

l 10.12 firewalld和netfilter

l 10.13 netfilter5表5链介绍

l 10.14 iptables语法

笔记时间:

10.11 Linux网络相关

ifconfig命令在CentOS6是自带有的,但是在CentOS7默认是没有的,需要安装net-tools这个包。

安装命令:yum install -y net-tools

  ifconfig命令比起ipadd命令显示的信息更加直观一些:

ifconfig命令加上-a选项可以在网卡断掉或者没有分配ip的时候能够显示出来:

ifdown命令会将网卡断掉:

将网卡断掉之后使用ifconfig命令就查看不到ip了,远程连接的终端也会断开。

ifup则可以将断掉的网卡up回来:

当针对一个网卡去进行更改的时候,需要重新启动网卡,但是不想全部网卡都重新启动,就需要使用到这些命令。

  如果正在使用远程终端的情况下,不要单独使用ifdown命令,因为网卡被断掉了,远程就无法连接了,要同时使用ifdown和ifup才行:

给网卡设定虚拟的网卡:

  1.使用命令:cd /etc/sysconfig/network-scripts/ 进入到network-scripts目录下,然后拷贝网卡配置文件:

2.编辑拷贝的网卡配置文件:

3.重启网卡,并使用ifconfig命令查看信息:

我们可以打开cmd来ping一下这个虚拟网卡的地址,看看是否能ping通:

能ping通就证明没问题。

mii-tool命令可以查看网卡是否在连接状态:

是link ok则表示是连接状态。

如果mii-tool命令不支持的话,还可以使用ethtool命令查看:

hostnamectl是CentOS7的命令,CentOS6不支持,这个命令可以更改主机名,主机名的配置文件在etc目录下的hostname中:

DNS配置文件在etc目录下的resolv.conf中:

  nameserver行的ip地址来自于网卡配置文件,可以在resolv.conf文件里临时更改DNS。

/etc/hosts文件是Linux、Windows都有的,用于指定域名访问的IP地址:

例如我修改hosts文件指定一个域名的ip:

ping这个域名时就会访问127.0.0.1 IP地址

一个IP可以指定多个域名:

如果有两个同样的域名指定了不同的IP,以第一个的那个IP为准:

10.12 firewalld和netfilter

临时关闭selinux:

永久关闭selinux:

编辑/etc/selinux/config文件,把SELINUX行改为disabled,然后重启操作系统:

使用getenforce命令可以看到selinux的状态,显示Disabled表示关闭了,临时关闭则是显示Permissive:

selinux一般情况下都是关闭的,因为开启的话会有很多服务受限于它,从而增大运维的成本,而且关闭了selinux也不会对安全有什么影响。

netfilter防火墙在CentOS6之前的版本是这个名字,在CentOS7则变成了firewalld,而且机制也变得不太一样,但是内部的工具:iptables的用法是一样的。iptables可以去添加一些规则,比如关闭或开放端口。

在CentOS7上也可以使用netfilter机制的防火墙:

  1.关闭firewalld:

2.安装iptables-services包:

安装完之后就会有一个iptables服务:

3.开启iptables服务:

4.使用iptables -nvL命令查看iptables服务自带的一些规则:

10.13 netfilter 5表5链介绍

使用man命令可以看到关于netfilter的5个表的解释:

比较常用的是filter和nat表,filter是最常用的表,用于过滤数据包,这个表里有INPUT、FORWARD、OUTPUT三个链。INPUT 是数据包进入到本机的时候需要经过的一个链,在数据包经过这个链的时候可以做些操作,例如我要检查这个数据包访问的端口和源IP是什么,发现可疑的IP就可以禁掉。

接收到的数据包会经过一个判断,判断是否是发送到本机的,如果不是发送到本机的就会经过FORWARD这个链,当数据包经过FORWARD链的时候,我们也可以做一些操作,例如更改数据包的目标地址或者进行转发。

OUTPUT是在本机产生的一些包,在出去之前要做的一些操作,例如有个数据包要发给某个IP,但是这个IP我要禁掉,所以数据包就不会发往这个IP。

nat表用于网络地址转换,有PREROUTING、OUTPUT、POSTROUTING三个链。OUTPUT和filter表的OUTPUT是一样的,PREROUTING用来数据包进来的那一刻进行更改,POSTROUTING则反之,用来数据包出去的那一刻进行更改。

  路由器的原理就是用nat表做的,nat还可以做端口映射:

传输数据包的过程:

10.14 iptables语法

iptables的默认规则在/etc/sysconfig/iptables文件里保存着:

清除规则使用iptables -F命令:

这样虽然清空了规则,但是默认规则还会保存在/etc/sysconfig/iptables文件里。

  想要当前的规则保存到/etc/sysconfig/iptables文件里就要使用service iptables save命令:

  如果没有保存到/etc/sysconfig/iptables文件里的话,重启服务后就会重新加载/etc/sysconfig/iptables文件里的规则:

目前我们做的这些操作都是针对的filter表,这是默认的表。

查看nat表的规则:

使用iptables -nvL命令显示的规则里,可以看到第一行是有数字的,加上-Z选项可以将计数器清零:

  清零是为了在某些需求下,可以计算某个时间段某个ip传送过来的数据包数量。

添加规则示例:

命令意义:

只写目标端口也可以,意思就是过滤掉给这个端口发送的数据包:

命令意义:

规则在前面和后面区别就是先匹配前面的规则,然后再匹配后面的规则。

使用-D选项删除规则:

更方便的删除规则,根据规则的行号来删除:

链里面没有匹配的规则,就会走默认的策略,-P选项就是用来更改默认策略的:

ACCEPT是接收,DROP是终止,如果使用DROP的话,远程终端就会断开,因为服务器拒绝通信了,所以默认策略一般不用更改。

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • shell中的函数和数组

    在shell中函数的关键字function是可以省略的,而且和其他大部分的编程语言一样,函数要声明在调用函数的语句之前,因为代码都是从上至下执行的。以下写一个简...

    端碗吹水
  • Math类、Random类与数组集合

    Math类是在java.lang包下的一个用于数学计算的类。Math 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。

    端碗吹水
  • 解决npm install时报错无法安装chromedriver的问题

    最近使用vue开发了一个前端项目,开发好后准备部署到服务器上。从git仓库拉下项目代码后,运行npm install安装项目所依赖的模块时却报错了,错误信息如下...

    端碗吹水
  • linux网络相关,firewalld和netfilter,netfilter5表5链介绍,itptables语法

    叶瑾
  • ubuntu关闭和开启防火墙

    yaohong
  • 初创公司Neotrade成功募资1500万卢比 从事大数据精准推送

    Neotrade Analytics是一家总部位于Bengaluru的创业公司,业务包括将实时数据发给交易者与交易主体。日前,该公司从创业孵化器与基金机构Rai...

    CSDN技术头条
  • 为什么我的iptables一重启就失效了?

    搭了个VPN,但是默认VPN没有在做转发,用的iptables做的nat转发,可是每次重启,都需要重新执行iptables命令。

    libo1106
  • CVPR 2019 | 旷视研究院提出一种行人重识别监督之下的纹理生成网络

    论文名称:Re-Identification Supervised Texture Generation

    小白学视觉
  • Linux防火墙-SELinux、netfilter、iptables、ifconfig

    应用环境:更改单个指定网卡配置后需要重启才能生效,为了避免关闭或重启所有网卡可以对单个网卡执行该命令。 注: 如果网卡正在使用中,不要单独使用ifdown命令...

    阿dai学长
  • 2014年IT趋势:4G将推动物联网的普及

    距离2009年物联网(Internet Of Things,IOT)概念的提出,至今已经有一段时间了。但在过去物联网仍仅限于小规模工业产线的局部应用,对大部分企...

    人称T客

扫码关注云+社区

领取腾讯云代金券