第7周第3次课(5月9日)

课程内容:

10.11 Linux网络相关
10.12 firewalld和netfilter
10.13 netfilter5表5链介绍
10.14 iptables语法

扩展(selinux了解即可)
1. selinux教程 http://os.51cto.com/art/201209/355490.htm
2.selinux pdf电子书 http://pan.baidu.com/s/1jGGdExK

10.11 Linux网络相关

[root@jimmylinux-002 ~]# ifconfig -a  当网卡宕掉了或者没有IP时候是不显示的

ifup ens33  开启网卡

ifdown ens33  关闭网卡

一般增加DNS或者网关的时候,就可以使用ifdown命令。

[root@jimmylinux-002 ~]# ifdown ens33 && ifup ens33  如果是需要在远程终端上面操作,可以把2条命令放一起执行。

设置一个虚拟网卡,需要把网卡配置文件里面name修改为ens33:0,IP地址更换一个。

添加的虚拟网卡IP同样也是可以ping通的↑

[root@jimmylinux-002 network-scripts]# mii-tool ens33  查看网线是否连接网卡并且网络是否连通

[root@jimmylinux-002 network-scripts]# ethtool ens33  也可以查看网卡是否连接

[root@jimmylinux-002 network-scripts]# hostnamectl set-hostname abc-001  修改主机名称

更改DNS直接去修改DNS配置文件即可,也可以临时去编辑这个文件/etc/resolv.conf

[root@jimmylinux-002 network-scripts]# cat /etc/hosts

这个文件是Linux和Windows都有的,可以在本机更改解析地址,只针对本机生效。

格式是左边是IP,右边是域名,可以支持一个IP对应多个域名,用空格分隔开。

如果修改成一个域名对应多个IP,那么会以最后一行的为准。

10.12 firewalld和netfilter

setenforce 0  可以临时关闭selinux

如果要永久关闭selinux,需要修改配置文件vi /etc/selinux/config 然后重启系统即可。

可以使用getenforce查看selinux状态,如果是enforcing表示开启,如果是permissive表示临时关闭。

netfilter在CentOS6之前使用,在CentOS7里面默认使用firewalld,当然也可以在CentOS7里面先关闭firewalld,然后在开启netfilter,同样是可以使用CentOS6的防火墙机制。

关闭firewalld方法:

# systemctl disable firewalld

# systemctl stop firewalld

然后在开启netfilter,开启之前需要先安装一个包。

# yum install -y iptables-services

安装完成后再开启

# systemctl enable iptables

# systemctl start iptables

# iptables -nvl  查看iptables服务启动后的默认规则

10.13 netfilter5表5链介绍

在CentOS6里面只有4个表,可以通过man命令查看netfilter的5个表。

[root@jimmylinux-002 ~]# man iptables

iptables和netfilter的关系:

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

iptables传输数据包的过程

① 当一个数据包进入网卡时,它首先进入PREROUTING链,内核根据数据包目的IP判断是否需要转送出去。 
② 如果数据包就是进入本机的,它就会沿着图向下移动,到达INPUT链。数据包到了INPUT链后,任何进程都会收到它。本机上运行的程序可以发送数据包,这些数据包会经过OUTPUT链,然后到达POSTROUTING链输出。 
③ 如果数据包是要转发出去的,且内核允许转发,数据包就会如图所示向右移动,经过FORWARD链,然后到达POSTROUTING链输出。

iptables的规则表和链:

表(tables)提供特定的功能,iptables内置了4个表,即filter表、nat表、mangle表和raw表,分别用于实现包过滤,网络地址转换、包重构(修改)和数据跟踪处理。

     链(chains)是数据包传播的路径,每一条链其实就是众多规则中的一个检查清单,每一条链中可以有一 条或数条规则。当一个数据包到达一个链时,iptables就会从链中第一条规则开始检查,看该数据包是否满足规则所定义的条件。如果满足,系统就会根据 该条规则所定义的方法处理该数据包;否则iptables将继续检查下一条规则,如果该数据包不符合链中任一条规则,iptables就会根据该链预先定 义的默认策略来处理数据包。

Iptables采用“表”和“链”的分层结构。在REHL4中是三张表五个链。现在REHL5成了四张表五个链了,不过多出来的那个表用的也不太多,所以基本还是和以前一样。下面罗列一下这四张表和五个链。注意一定要明白这些表和链的关系及作用。

10.14 iptables语法

# iptables -nvL  查看iptables规则

# service iptables restart  重启后再查看规则还是一样

规则保存路径 /etc/sysconfig/iptables

如果不想要默认的规则,可以使用iptables -F 清空。

清空规则后,保存路径的配置文件内容是不会被清空的,如果想保存新规则,需要执行这条命令service iptables save 才会把新规则内容保存到配置文件去。

# iptables -t filter -nvL  不加-t就是filter表

# iptables -t nat -nvL  也可以查看nat表

# iptables -Z; iptables -nvL  可以把计数器清零

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

-A表示and增加一条规则,针对的链是input链,-s指定一个来源IP,-p指定一个协议,来源的端口1234,目标的IP和目标的端口-j

# iptables -I INPUT -p tcp --dport 80 -j DROP  -大小字母I表示insert插入到最前面第一行去,而-A是增加到最后一行去。

# iptables -D INPUT -s 192.168.188.1 -p tcp --sport 1234 -d 192.168.188.128 --dport 80 -j DROP  删除最后一行的规则

# iptables -D INPUT -p tcp --dport 80 -j DROP  删除第一行的规则

如果忘记之前写的规则,想再删除也可以通过下面的方法实现,首先显示出规则的行数,然后在删除指定行的规则。

# iptables -nvL --line-number  显示规则的行数

# iptables -D INPUT 7  例如删除第7行的规则

# iptables -P OUTPUT DROP  默认策略的规则,建议不要操作,保持默认即可。

Linux网络相关、firewalld和netfilter、netfilter5表5链介绍、iptables语法 使用介绍的更多相关文章

  1. 10.11 Linux网络相关 10.12 firewalld和netfilter 10.13 netfilter5表5链介绍 10.14 iptables语法

    Linux网络相关 ifocnfig 查看网卡ip(yum install net-tools) ip add 查看网卡 ip add = ifocnfig ifconfig 不显示down掉的网卡, ...

  2. Linux centos7 Linux网络相关、firewalld和netfilter、netfilter5表5链介绍、iptables语法

    一. Linux网络相关 yum install net-tools ifconfig查看网卡ip ifup ens33开启网卡 ifdown ens33关闭网卡 设定虚拟网卡ens33:0 mii- ...

  3. Linux网络相关命令firewalld和netfilter、iptables 使用(6/22)

    iptables和netfilter的关系: netfilter在内核空间的代码根据table中的rules,完成对packet的分析和处置.但是这些table中的具体的防火墙rules,还是必须由系 ...

  4. Linux对外提供服务 网络操作 端口操作 1.开启服务监听端口 2.设置防火墙,放行访问端口的包 iptables&netfilter 四表五链和通堵策略

    主题: Linux服务器上软件提供服务 1.网络操作 2.端口操作 1.网络操作 本机必须能够ping通目标主机(本地虚拟机或者远程主机) 2.端口操作 1.开启服务监听端口 2.设置防火墙,放行访问 ...

  5. Linux 网络相关命令 Cheat Sheet

    以下漫画形式呈现的常用 Linux 网络相关命令速查表来自 twitter -

  6. linux网络相关配置文件

    linux系统一般来说分为两大类:1.RedHat系列:Redhat.Centos.Fedora等:2.Debian系列:Debian.Ubuntu等. linux系统中,TCP/IP网络是通过若干个 ...

  7. Linux网络相关配置

    一.修改网卡相关配置 Linux网络参数是在/etc/sysconfig/network-scripts/ifcfg-eth0中设置,其中ifcfg-eth0表示是第一个网卡,如果还有另外一块网卡,则 ...

  8. Linux 网络相关命令

    1.修改ip,dns相关:sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0 2.ifconfig 查找ip,mac地址 3.重启网络:sudo ser ...

  9. linux网络相关命令使用

    A,iptables使用示例 1,将请求80端口的包发送给本机8180端口(这样,别的机器访问本机的80端口时会被转发到8180端口去) iptables -t nat -A PREROUTING - ...

随机推荐

  1. 不用循环控制、条件控制、三目运算符 实现阶乘n!

    long func(int n) { ( n <= 1 && (n=1) ) || ( n*=func(n-1)); return n; } template<int N& ...

  2. 干货 Elasticsearch 知识点整理二

    目录 root object mate-field 元数据字段 mapping-parameters 动态mapping(dynamic mapping) 核心的数据类型 精确匹配与全文检索 精确匹配 ...

  3. Bootstrap布局基础

     1.栅格系统(布局)Bootstrap内置了一套响应式.移动设备优先的流式栅格系统,随着屏幕设备或视口(viewport)尺寸的增加,系统会自动分为最多12列. 我在这里是把Bootstrap中的栅 ...

  4. 20190820 Tue 集训总结&NOIP模拟 27

    低谷度过了? 但是skyh阿卡了,还是反衬出我的辣鸡. T1知道要sort,却忘了判重,正解不如暴力分高,555. T2成功化出正解柿子,然后化过头了,化出了无法DP的柿子. 果然不够强,大神们一眼就 ...

  5. MySQL 语句执行过程详解

    MySQL 原理篇 MySQL 索引机制 MySQL 体系结构及存储引擎 MySQL 语句执行过程详解 MySQL 执行计划详解 MySQL InnoDB 缓冲池 MySQL InnoDB 事务 My ...

  6. JS 接口定义及实现的例子

    //定义一个函数,目的是将参数中的第二个函数所有属性放到第一个参数中,目的是将接口中所有方法放到实现类中 Object.extend=function(destination,source){ for ...

  7. 2019.NET Conf China(中国.NET开发者峰会)活动全纪录:.NET技术之崛起,已势不可挡

    一.微软走向开放与.NET Core的诞生 当今时代,气象更新,技术飞速发展. 当今时代,开发者大概是最优秀的群体.每一位开发者,无不奋勇向前,努力追寻时代的步伐,以大无畏的精神迎接挑战,紧跟大时代成 ...

  8. ElasticSearch(五):Mapping和常见字段类型

    ElasticSearch(五):Mapping和常见字段类型 学习课程链接<Elasticsearch核心技术与实战> 什么是Mapping Mapping类似数据库中的schema的定 ...

  9. 二叉搜索树BST(C语言实现可用)

    1:概述 搜索树是一种可以进行插入,搜索,删除等操作的数据结构,可以用作字典或优先级队列.二叉搜索树是最简单的搜索树.其左子树的键值<=根节点的键值,右子树的键值>=根节点的键值. 如果共 ...

  10. maven的项目结构

    1.标准目录结构: src -main       –bin 脚本库       –java java源代码文件       –resources 资源库,会自动复制到classes目录里       ...