专栏首页linux运维学习linux学习第二十九篇:linux网络相关,防火墙:firewalld和netfilter,netfilter5表5链介绍,iptables语法

linux学习第二十九篇:linux网络相关,防火墙:firewalld和netfilter,netfilter5表5链介绍,iptables语法

linux网络相关

  1. 查看网卡ip //安装包:yum install -y net-tools ifconfig -a:当网卡没有IP的时候不会显示
  2. 打开网卡: ifup ens33
  3. 关闭网卡: ifdown ens33
  4. 关闭网卡后开启网卡(防止远程连接时关闭网卡后没法远程连接) ifdown ens33 && ifup ens33
  5. 设定一个虚拟网卡: 进入配置文件的目录:cd /etc/sysconfig/network-scripts/ 复制网卡ens33配置文件:cp ifcfg-ens33 ifcfg-ens33\:0 //记得要用\脱义:号。 配置ifcfg-ens33:0配置文件:把IP改了,NAME和DEVICE都改为ens33:0,DNS和GATEWAY网关可以删除。 重启网卡:ifdown ens33 && ifup ens33
  6. 查看网卡是否连接: mii-tool ens33 link ok说明是连接的

有些人的可能不支持,可以使用命令:ethtool ens33 最后一行link显示yes说明是连接的

  1. 更改主机名为xie(自定义): hostnamectl set-hostname xie 主机名的配置文件:/etc/hostname
  2. DNS配置文件,网卡配置文件中的DNS的ip会在这DNS配置文件中。也可以临时编辑DNS配置文件中的DNS,不过重启了网卡,依然会被网卡配置文件里的dns配置所覆盖: /etc/resolv.conf //临时编辑的格式:nameserver ip地址
  3. linux和Windows都有的配置文件,修改域名解析使本机访问到自己设置的本机的IP(只在本机生效) /etc/hosts //格式:123.456.789.456 www.qq123.com,中间空格分开。也可以后面接多个域名。一个IP后面可以跟多个域名,可以是几十个甚至上百个;每行只能有一个IP,也就是说一个域名不能对应多个IP;如果有多行中出现相同的域名(前面IP不一样),会按最后面出现的记录来解析。

linux防火墙:firewalld和netfilter

selinux临时关闭: setenforce 0

selinux永久关闭,编辑配置文件: vi /etc/selinux/config

重启系统生效。

  1. 查看防火墙状态的命令: getenforce //显示 Enforcing就是打开,Permissive就是selinux虽然开启,但是不会真正去阻断,只会提醒。
  2. centos7之前使用netfilter防火墙
  3. centos7开始使用firewalld防火墙
  4. 关闭firewalld开启netfilter方法: 停掉firewalled,不让它开机启动 systemctl disable firewalld

关闭firewalld: systemctl stop firewalld

安装iptables包: yum install -y iptables-services

安装完iptables会产生的服务: systemctl enable iptables

开启iptables(实际是开启了netfilter,iptables只是工具): systemctl start iptables

查看iptables的默认规则: iptables -nvL

netfilter5表5链介绍

  1. netfilter的五个表 filter 这个表主要用于过滤包的,是系统预设的表,这个表也是阿铭用的最多的。内建三个链INPUT、OUTPUT以及FORWARD。INPUT作用于进入本机的包;OUTPUT作用于本机送出的包;FORWARD作用于那些跟本机无关的包。 nat主要用处是网络地址转换,也有三个链。PREROUTING 链的作用是在包刚刚到达防火墙时改变它的目的地址,如果需要的话。OUTPUT链改变本地产生的包的目的地址。POSTROUTING链在包就要离开防火墙之前改变其源地址。 mangle 这个表主要是用于给数据包打标记,然后根据标记去操作哪些包。 raw表可以实现不追踪某些数据包,默认系统的数据包都会被追踪,但追踪势必消耗一定的资源,所以可以用raw表来指定某些端口的包不被追踪。 security表在Centos6中是没有的,它用于强制访问控制(MAC)的网络规则。
  2. netfilter的五个链 PREROUTING:数据包进入路由表之前 INPUT:通过路由表后目的地为本机 FORWARDING:通过路由表后,目的地不为本机 OUTPUT:由本机产生,向外转发 POSTROUTING:发送到网卡接口之前
  3. iptables传输数据包的过程 ① 当一个数据包进入网卡时,它首先进入PREROUTING链,内核根据数据包目的IP判断是否需要转送出去。 ② 如果数据包就是进入本机的,它就会沿着图向下移动,到达INPUT链。数据包到了INPUT链后,任何进程都会收到它。本机上运行的程序可以发送数据包,这些数据包会经过OUTPUT链,然后到达POSTROUTING链输出。 ③ 如果数据包是要转发出去的,且内核允许转发,数据包就会如图所示向右移动,经过FORWARD链,然后到达POSTROUTING链输出。

iptables语法

查看iptables规则,-nvL 即查看该表的规则,其中-n表示不针对IP反解析主机名;-L表示列出的意思;而-v表示列出的信息更加详细。如果不加-t指定表,则默认是filter表: iptables -nvL

规则保存在配置文件iptables中: /etc/sysconfig/iptables

清空规则: iptables -F

重新加载配置文件里的规则: systemctl restart iptables.service

保存规则,重启系统之后都会加载配置文件里的规则,用这个命令保存之后重启系统后就会生效,如果不这样保存,那修改的规则仅仅保存在内存中,下次启动就不会生效: service iptables save

-t指定表: iptables -t nat

可以把计数器清零: iptables -Z

不加-t默认是filter表,-A是增加一条规则,针对的链是INPUT链,-s指定来源IP,-p指定协议,–sport指定来源端口,-d目标的IP,–dport目标的端口,-j后面跟动作:DROP把数据扔掉/REJECT拒绝(DROP是看都不看数据包就扔掉,但是REJECT是看完数据包再拒绝,ACCEPT表示允许包) iptables -A INPUT -s 192.168.188.1 -p tcp –sport 1234 -d 192.168.188.128 –dport 80 -j DROP

-I是插入规则插到最前面,-A是增加规则增加到最后面。最前面的规则会优先过滤(如匹配的都是80端口的,最前面的规则已经匹配并且把数据包DROP掉,那么最后面的规则就没得匹配了),-D删除规则: iptables -I INPUT -p tcp –dport 80 -j DROP //不指定来源IP,但要指定协议和目标端口。 iptables -I/-A/-D INPUT -s 1.1.1.1 -j DROP

-i指定网卡: iptables -I INPUT -s 192.168.1.0/24 -i eth0 -j ACCEPT

把规则的编号列出来,方便按编号删除规则: iptables -nvL –line-numbers

删除指定的规则: iptables -D INPUT 1

-P后面跟链名,策略内容或为DROP,ACCEPT,默认是ACCEPT。注意:如果在连接远程服务器,千万不要随便执行这个命令,因为一旦执行,远程连接就会被断开: iptables -P OUTPUT DROP

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

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • linux学习第三十篇:iptables filter表小案例,iptables nat表应用

    iptables filter表小案例 案列:只针对filter表,预设策略INPUT链DROP,其他两个链ACCEPT,然后针对192.168.188.0/2...

    用户1215343
  • linux学习第三十六篇:MariaDB安装,Apache安装

    MariaDB安装 将待会下载的源码包放到这个目录下: cd /usr/local/src 下载源码包: wget https://downloads...

    用户1215343
  • MySQL延迟主从复制

    世界上没有卖后悔药的,一旦做错了,后悔莫及。我们作为运维,尤其是不小心误删除数据库里的数据时,那更是损失巨大。对于MySQL来说,这里有一种方法,可以避免这种悲...

    用户1215343
  • Debian下iptables规则重启失效问题的解决方法

    用户2135432
  • CentOS 7 下使用 iptables

    系统升级到CentOS 7后总感觉iptables怪怪的,比如不管怎么保存重启后都被初始化一下,即便我最后发大绝招启动时候加命令: 首先iptables-sa...

    明哥的运维笔记
  • Linux安全之iptables详解

    基本上,依据防火墙管理的范围,我们可以将防火墙区分为网域型与单一主机型的控管。在单一主机型的控管方面, 主要的防火墙有封包过滤型的 Netfilter 与依据...

    BGBiao
  • 企业防火墙之iptables

    1.1 企业中安全优化配置原则 尽可能不给服务器配置外网ip ,可以通过代理转发或者通过防火墙映射.并发不是特别大情况有外网ip,可以开启防火墙服务. 大并发的...

    惨绿少年
  • iptables 报错:iptables-restore: unable to initialize table ‘filter 的解决办法

    魏艾斯博客www.vpsss.net
  • iptables 学习笔记

    大江小浪
  • iptables系列教程(三)| iptables 实战篇

    公众号『开源Linux』,专注分享Linux/Unix相关内容,包括Linux运维、Linux系统开发、网络编程、以及虚拟化和云计算等技术干货。后台回复『学习』...

    开源Linux

扫码关注云+社区

领取腾讯云代金券