Linux网络相关,firewalld和netfilter,netfilter5表5链介绍,iptables语法

本文涉及的产品
.cn 域名,1个 12个月
简介:

wKioL1nlzRrzhI95AAlnd_M1p74321.png

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

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

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

wKiom1nlz9XxNPF9AAlmeCTGb_c657.png


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

wKioL1nlzSPTDsX-AAmOfzXGaUY471.png


ifdown命令会将网卡断掉:

wKiom1nlz9uiBRxgAAOL2c_biyw470.png

wKioL1nlzSjyrlOCAAiKRw74h2w700.png

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


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

wKiom1nlz9_B4UsFAAIri3F15mw204.png

wKioL1nlzS3DrGDFAAlrz46Ao28099.png

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

 

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

wKioL1nlzS7TTuTLAAKCSRbpROQ328.png


给网卡设定虚拟的网卡:

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

wKiom1nlz-aQS5OgAAJNK3LY11k110.png


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

wKioL1nlzTLiX-01AAW0xqtfFj8408.png


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

wKiom1nlz-yS_-k3AAn_PSRM6wk003.png

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


wKioL1nlzTnzCxIgAAaL-CuIZ9w365.png

ping通就证明没问题。


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

wKiom1nlz_CQTjFJAAHCQR01Itk487.png

link ok则表示是连接状态。

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

wKioL1nlzT-DZGLBAAuAvOZgewk149.png


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

wKiom1nlz_Xyzcg4AAExzdpoZDk122.png


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

wKioL1nlzT_iGSF3AAHqYazGgHw150.png

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

    

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

wKiom1nlz_fSQgqPAAKK9xoyBpM150.png


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

wKioL1nlzULQsJPxAALHrlmSyjU600.png

wKiom1nlz_mwaHgSAAMJA_vM3hM369.png

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


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

wKioL1nlzUOCV2wNAAHuz0ImNTk107.png

wKioL1nlzUSzx4i5AAMQ2MwoRyo857.png


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

wKiom1nlz_ujdbH4AAJFkn3xTKE574.png

wKiom1nlz_yTDRvfAAPIZm1fXII131.png



10.12 firewalldnetfilter

wKioL1nlzU3DduoJAA9rJOaRJdU319.png

临时关闭selinux

wKioL1nlzU7yLlKBAAD9A-CrfBs341.png


永久关闭selinux

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

wKiom1nl0AfSLEzSAAVsQeEwl2A204.png


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

wKioL1nlzVHA4QZCAADmsEs8cPE239.png

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

 

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

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

  1.关闭firewalld

wKiom1nl0AiBSFnLAAJ5lH2vUuE953.png

wKiom1nl0F-iaNjdAADr83Sk0JA021.png


2.安装iptables-services包:

wKioL1nlzanRTDjeAAG9i9M1-BQ064.png


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

wKioL1nlzarh7NDJAAGPaGqh3i4632.png


3.开启iptables服务:

wKiom1nl0GDDz8M5AAEX8Hx9IHM326.png


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

wKiom1nl0GLhMFukAAV7Cw1a1DQ686.png


10.13 netfilter 55链介绍

wKioL1nlzbHxrrepAApnXjxkrT8601.png


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

wKiom1nl0GqBi0eZAAgiK7c0OXU714.png

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

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

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

 

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

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

wKioL1nlzbiQCyTzAAnlQh9yTcc130.png


传输数据包的过程:

wKioL1nlzb6wkxMWAAvtskZij9I500.png





10.14 iptables语法

wKiom1nl0HvAprRGAA6SRfacq4Q814.png


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

wKioL1nlzcmDOti8AAeOuIuHEj0171.png


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

wKioL1nlzcyS-p6jAAV06pNVh-g344.png

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

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

wKiom1nl0IKhlZKUAAIFcJzZXII357.png


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

wKiom1nl0IWz6FpVAAXc_xB1KSw592.png


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

查看nat表的规则:

wKioL1nlzdLB8a1eAAakjJMsqas392.png


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

wKioL1nlzdSTLsXwAAV7Cyda0Og570.png

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


添加规则示例:

wKiom1nl0IzBMTXDAAYZu3sj6U4975.png


命令意义:

wKiom1nl0I6xAx8iAAakjObX4Co801.png


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

wKiom1nl0JGjobenAAZtgc9tkkk739.png


命令意义:

wKioL1nlzd3QPAIWAAWHQZ0-Ogw000.png


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


使用-D选项删除规则:

wKiom1nl0JSh-sanAAKiu1JW0fw983.png

wKiom1nl0JaAnfPTAAXRpsCILgY591.png


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

wKioL1nlzeLw70lqAAW6Ty6tn-U814.png

wKioL1nlzeWCr63fAAWxpiLTY2g120.png


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

wKiom1nl0JuyTqUkAAIvYb8gUdU534.png


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




本文转自 ZeroOne01 51CTO博客,原文链接:http://blog.51cto.com/zero01/1973416,如需转载请自行联系原作者

相关文章
|
2月前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
86 2
|
3天前
|
Ubuntu Linux 开发者
Ubuntu20.04搭建嵌入式linux网络加载内核、设备树和根文件系统
使用上述U-Boot命令配置并启动嵌入式设备。如果配置正确,设备将通过TFTP加载内核和设备树,并通过NFS挂载根文件系统。
31 15
|
8天前
|
Ubuntu Unix Linux
Linux网络文件系统NFS:配置与管理指南
NFS 是 Linux 系统中常用的网络文件系统协议,通过配置和管理 NFS,可以实现跨网络的文件共享。本文详细介绍了 NFS 的安装、配置、管理和常见问题的解决方法,希望对您的工作有所帮助。通过正确配置和优化 NFS,可以显著提高文件共享的效率和安全性。
74 7
|
2月前
|
域名解析 网络协议 安全
|
3月前
|
运维 监控 网络协议
|
2月前
|
存储 Ubuntu Linux
2024全网最全面及最新且最为详细的网络安全技巧 (三) 之 linux提权各类技巧 上集
在本节实验中,我们学习了 Linux 系统登录认证的过程,文件的意义,并通过做实验的方式对 Linux 系统 passwd 文件提权方法有了深入的理解。祝你在接下来的技巧课程中学习愉快,学有所获~和文件是 Linux 系统登录认证的关键文件,如果系统运维人员对shadow或shadow文件的内容或权限配置有误,则可以被利用来进行系统提权。上一章中,我们已经学习了文件的提权方法, 在本章节中,我们将学习如何利用来完成系统提权。在本节实验中,我们学习了。
|
2月前
|
Linux 网络安全 数据安全/隐私保护
Linux 超级强大的十六进制 dump 工具:XXD 命令,我教你应该如何使用!
在 Linux 系统中,xxd 命令是一个强大的十六进制 dump 工具,可以将文件或数据以十六进制和 ASCII 字符形式显示,帮助用户深入了解和分析数据。本文详细介绍了 xxd 命令的基本用法、高级功能及实际应用案例,包括查看文件内容、指定输出格式、写入文件、数据比较、数据提取、数据转换和数据加密解密等。通过掌握这些技巧,用户可以更高效地处理各种数据问题。
133 8
|
2月前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
536 6
|
2月前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
104 3