当前位置:首页 > 资讯 > 热门博客 > 正文

【Linux探索之旅】第四部分第四课:分析网络,隔离防火

发表于: 2016-01-02   作者:frogoscar   来源:转载   浏览次数:
摘要: 内容简介1、第四部分第四课:分析网络,隔离防火2、第四部分第五课:源码编译,安装便利分析网络,隔离防火俗语说得好:爱国爱家爱师妹! 防火防盗防师兄!虽然说,Linux本身很安全,至少比Windows安全多了。你看Linux发行版哪有安装杀毒软件的,同样基于修改的Unix系统的苹果的MacOS系统也几乎不需要装杀毒软件。如果Windows不装个杀毒软件,简直不好意思出门跟别人打招呼(日常黑Windo

0?wx_fmt=jpeg

内容简介

1第四部分第四课:分析网络,隔离防火

2、第四部分第五课:源码编译,安装便利


分析网络,隔离防火


俗语说得好:爱国爱家爱师妹!  防火防盗防师兄!


虽然说,Linux本身很安全,至少比Windows安全多了。你看Linux发行版哪有安装杀毒软件的,同样基于修改的Unix系统的苹果的Mac OS系统也几乎不需要装杀毒软件。


如果Windows不装个杀毒软件,简直不好意思出门跟别人打招呼(日常黑Windows任务完成 :P)。开个玩笑啦,Windows是很好的系统,小编也使用Windows系统的。


不过,在网络上穿行,还是小心为妙。毕竟网上有不怀好意的黑客(或普通人),想方设法获取我们的隐私,或者控制我们的电脑。


这一课很重要,我们来学习几个厉害的命令,能帮助我们分析网络,再来学习如何使用轻量级的防火墙。


我们一起学习经由电脑的网络通信是怎么回事。事实上,当你的电脑连接到互联网(Internet)时,总会有那么一些电脑里的软件会连上网,然后下载或上传信息,很多时候还是偷偷地在后台进行。


如何监控此等“大逆不道”的行径呢?如何知道哪个软件正在与网络通信,在哪个端口上进行呢?就是本课要探究的。


还 有,懂得配置防火墙是很必要的,不管是在你的家用电脑上还是在你租用的服务器上。因为这能有效保护电脑,免得一些软件未经你同意就和互联网交换信息。使用 防火墙是一个重要的安全防护措施,特别是每个系统管理员(System Administrator)更是不能逃避,总要学习。


好了,废话了这么多,开篇入正题吧。


希望你们没有嫌我��嗦,真的不要... 如果你嫌我��嗦,你要说出来,你不说出来,我怎么知道你嫌我��嗦呢?如果你说出来了,但是不够大声,那也是不行的,不大声我听不清楚啊...


(好了,好了,不要再扔鸡蛋了... 你,说的就是你啦,还拿了一个番茄准备扔诶,要不要辣么夸张)要跨年(2015-2016)了,就原谅小编顽皮一次吧。


大家2016加油啊!要做T型人才噢~


host和whois命令:告诉我你是谁


我们已经知道,每台连上网的电脑都会被一个IP地址所标识,这个IP地址是全球唯一的。


目前,大多数的IP地址是这样的形式:


96.172.150.23


这样的形式被称为IPv4格式(以小数点分隔)。IP就是Internet Protocol(网际协议),v是version(版本)的首字母,4表示这是版本四。



0?wx_fmt=png


不过,因为IPv4的地址不够用的关系,现在已经有不少IP地址的格式是IPv6的格式了,已有的IPv4地址也被慢慢替换成IPv6。IPv6的IP地址类似这样:


fa80::109:62fa:cb80:29d2


上面的是简写形式(两个冒号::用于合并连续的几组0),完整的形式是:


fa80:0000:0000:0000:0109:62fa:cb80:29d2


以冒号分隔的8组4位的16进制(也就是8组16位二进制,因为2的4次方是16),所以 8 * 16 = 128


IPv6把 IP 地址由IPv4的32 位(4个2的8次方,4 * 8 = 32)增加到 128 位。


2 的32次方是42亿多一点。随着互联网的快速成长,IPv4的42亿个地址的分配最终于2011年2月3日用尽。而IPv6的128位可以提供的IP地址 数量可达3.402823669 × 10^38个,届时每个人家居中的每件电器,每件对象,甚至地球上每一粒沙子都可以拥有好几个IP地址。根本用不完,IP多就是这么任性。


我们可以为每一个IP地址绑定一个主机名,主机名的英语是host name。


注意:

这里的主机名其实应该被称为完整主机名: Fully Qualified Domain Name (FQDN),是由主机名(host name)和域名(domain name)一起构成。我们一般会用主机名或域名来代称FQDN,其实不是那么准确。


(domain name和host name是不同概念,有点小复杂,可以去看看《鸟哥的Linux私房菜》的对应课程,讲得非常通俗易懂:http://linux.vbird.org/linux_server/0350dns.php)


例如,程序员联盟的服务器的完整主机名是www.coderunity.com,这里的www是主机名,coderunity.com是域名。对应的IP地址是58.96.181.197


下面我们会用主机名或域名代指FQDN了。


相比于记忆一串数字(IPv4)或数字+字母(IPv6)的IP地址,人脑更擅长记住主机名。如下图,IP地址和主机名对应:


0?wx_fmt=jpeg


IP地址和主机名的互相转换


使用host(host是英语“主机”的意思)这个命令我们可以实现IP地址和主机名的互相转换,例如:


host coderunity.com (或 host www.coderunity.com)会得到IP地址:

58.96.181.197


而host 58.96.181.197则会得到主机名


host命令的其他参数选项,可以用man host来查考。


自定义解析


IP地址和主机名的解析是由DNS(Domain Name System,域名解析系统)服务器完成的。我们不深入了解DNS的具体工作原理了,半天解释不完,可以看上面给出的鸟哥的链接里的内容。


因此,当你在浏览器的地址栏里输入coderunity.com 时,你就能收到由网络上的DNS服务器帮你解析出来的IP地址,你就可以访问程序员联盟的官网了。


你当然不能修改DNS服务器上的主机名和IP地址的对应关系列表(因为有风险,会影响到很多人)。但是你可以自定义你电脑上主机名和IP地址的对应关系。


以root身份打开/etc/hosts 文件:

sudo nano /etc/hosts


0?wx_fmt=jpeg


可以看到一些IP地址和主机名的对应关系,例如:


127.0.0.1 对应了localhost


127.0.1.1 对应了oscar-laptop,就是小编电脑的主机名


下面还有一些IPv6格式的IP地址。


你可以往里面添加自己的解析对。写在一行里,在IP地址和主机名之间至少要留一个空格。


那么自定义IP地址和主机名之间的解析关系,有什么用呢?


当然有用,有的时候,网络上负责解析域名的DNS服务器可能暂时出现故障(很少见),那这时你在地址栏直接输入IP地址可以访问对应网站,但是输入主机名(域名)则不能访问了,因为没有DNS服务器解析,域名是不能被识别的。


这时,你自定义在本地Linux系统的/etc/hosts文件中的解析规则就可以发挥作用了。你还是可以访问网站。


例如你可以加一条程序员联盟网站的解析对:

58.96.181.197    coderunity.com


但是这样的方法也有缺陷:假如你的主机的IP地址换了,那你输入域名就不能上那个网站了。所以,一般来说,我们还是靠经常更新解析对的网络上的DNS服务器更好(一般一天更新一次)。


对于局域网,这个host文件也是很有用的。


例如在自己家里建立的局域网里面,有你的电脑,还有你老爸的电脑。那你不想记住老爸的电脑的IP地址,怎么办呢?可以添加一条解析对,例如:

192.168.0.7     father-laptop


这样,老爸的电脑的IP地址对应的主机名在你这里就成为father-laptop了,你就可以更方便地访问老爸的电脑。


例如,如果在老爸的电脑里你有一个账户叫oscar,那么用之前学的SSH来登录老爸电脑上的oscar账户,就是:

ssh oscar@father-laptop


就不用输入:

ssh oscar@192.168.0.7


whois:了解有关域名的信息


whois这个命令很好记,由who和is两部分组成,who是英语“谁”的意思,is是英语“是”的第三人称单数形式。所以连起来表示:是谁


每一个域名在登记注册时都须要填写:姓,名,联系地址,联系方式,等等。这是规定。


whois命令就可以帮助我们轻松获得域名背后的这些信息


可以选一个主机名来试试,例如:

whois coderunity.com


你就有小编的邮寄地址啦,要送我新年礼物就赶紧哦。哈哈,开玩笑的~


ifconfig和netstat命令:控制和分析网络流量


我们接着学习两个非常强大的命令:ifconfig和netstat。


ifconfig:列出网络接口


ifconfig是linux中用于显示或配置网络设备(网络接口卡)的命令,英文全称是(Network) Interface Configuration。if是Interface的缩写,表示“接口”;configuration是“配置”的意思。


一般来说,你的电脑拥有好几个网络接口,也就是说有多种连接网络的方式。


运行ifconfig命令,显示如下:


0?wx_fmt=jpeg


在小编的电脑上显示有三个网络接口,分别是:


eth0,lo,wlan0


在你的电脑上可能网络接口多于三个,也可能少于三个,本不足为奇,取决于你电脑的设备。幸好小编的电脑的三个网络接口都是最常见的三个,详述如下:

  • eth0: 对应有线连接(对应你的有线网卡),就是用网线来连接的上网(一般是RJ45网线,见下图),如果你的电脑目前使用网线来上网,那就是在使用这个接口。有 些电脑可能同时有好几条网线连着(有好几个有线接口),例如服务器,那么除了eth0(第一块有线网卡),你还会看到例如eth1,eth2,等等。

  • lo: 本地回环(Local Loopback,对应一个虚拟网卡)。可以看到它的IP地址是127.0.0.1,似曾相识是吗?对啊,之前我们在/etc/hosts文件中看到对应 localhost的就是这个IP。每台电脑都应该有这个接口,因为它对应着连向... 自己的链接。这也是我们称之为本地回环的原因:所有经由这个接口发送的东西都会回到你自己的电脑。看起来好像并没有什么用,但是有时为了某些缘故(可以百 度继续探究),我们需要连接自己。例如用来测试一个网络程序,但又不想让局域网或外网的用户能够查看,只能在此台主机上运行和查看所用的网络接口。比如把 HTTPD服务器指定到回坏地址,在浏览器输入 127.0.0.1 就能看到你所架设的Web网站了。但只有你自己能看得到,局域网的其它主机或用户无从知道。

  • wlan0:对应Wi-Fi无线连接(对应你的无线网卡)。假如你有好几块无线网卡,那么会看到wlan1,wlan2,等等。



0?wx_fmt=jpeg


仔细观察上面ifconfig输出的信息,你猜到小编此时用的是哪种方式连网的吗?


聪明如你应该猜到了(可不要害怕阅读一堆英语哦)。是的,小编此时用的是有线连接的方式上网。证明就在eth0的信息中:


RX packets : 4853

TX packets : 4821


分别是接收包和发送包的数目。RX是receive(表示“接收”)的缩写,TX是transmit(表示“发送”)的缩写。


而wlan0的信息中,这两行是0。


当然,本地回环的这两行也有148呢。所以说,给自己发送东西也是会发生的。


ifconfig命令还可以用来配置网络接口。但这有些超出本课程的范围了,毕竟需要懂一些网络方面的知识才能配置啊,不然配错了就糟了。


但是,有一个简单的配置方式我们可以学习:

接口的激活/关闭


使用格式如下:

ifconfig interface state


替换 :

  • interface:由你想要修改的网络接口名称代替(eth0,wlan0等等)。

  • state:由up或down代替,分别表示激活和关闭对应接口。


例如:

ifconfig eth0 down


关闭eth0这个有线接口,之后就没有任何网络传输会在eth0上进行了。

ifconfig eth0 up


激活eth0这个有线接口。


配置IP地址


用ifconfig命令可以配置网络接口的IP地址和其他数据


例如:

ifconfig eth0 192.168.120.56 netmask 255.255.255.0 broadcast 192.168.120.255


上面的命令用于给eth0网卡配置IP地址:192.168.120.56,加上子网掩码:255.255.255.0,加上个广播地址: 192.168.120.255


还有更多命令选项就用man ifconfig来查看吧。


netstat : 网络统计


netstat命令很好记,它由两部分组成:net和stat。


net是network的缩写,表示“网络”;stat是statistics的缩写,表示“统计”。所以顾名思义就是对网络信息进行统计啦。(再论学英语对编程的重要性)


假如你没有一些网络方面的知识,那么netstat命令的输出可能难以理解,但是也没那么难。假如你要了解你的电脑正在网络上做什么,那么netstat是不二选择。


netstat可以显示很多信息,但是我们可以用参数来控制显示信息的种类和样式。下面介绍几个常用的参数吧:


netstat -i : 网络接口的统计信息


首先,试试i参数吧:

netstat -i


会显示一张统计列表,列出你电脑的所有网络接口的一些统计信息,例如小编的电脑就列出了eth0,lo,wlan0这三个接口的使用信息。


netstat -uta : 列出所有开启的连接


运行

netstat -uta


0?wx_fmt=jpeg


参数uta分别表示:

  • -u : 显示UDP连接(u是udp的首字母)

  • -t : 显示TCP连接(t是tcp的首字母)

  • -a : 不论连接的状态如何,都显示(a是all的首字母)


TCP和UDP是两种不同的协议,用于在网络上传输数据。


UDP(User Datagram Protocol,用户数据报协议)一般用于网络游戏,音频通讯(例如Skype)。除此之外,一般来说TCP(Transmission Control Protocol,传输控制协议)是最常用的。一般在互联网上都是用TCP/IP协议。可以去看看小编的《TCP/IP探索之旅》。


我们也可以只显示TCP连接的信息:

netstat -ta


或者只显示UDP连接的信息(不常用):

netstat -ua


再来看看上面图片中state(状态)那一列的信息,有好几种不同状态:


  • ESTABLISHED:与远程电脑的连接已建立

  • TIME_WAIT : 连接正在等待网络上封包的处理,一旦处理完毕就开始关闭连接

  • CLOSE_WAIT:远程服务器中止了连接(也许你太久没什么动作,处在不活跃状态)

  • CLOSED:连接没有被使用

  • CLOSING:连接正在关闭,但有些数据还没有发送完毕

  • LISTEN:监听着可能进入的连接。此时连接还没有被使用。


当然,状态还不止这几种,其他的可以在netstat的命令手册中找到(用man netstat)。


我们再来看看端口的信息,就是上面图片中冒号(:)之后的数据。


事 实上,我们连接其他电脑,可以透过不同的端口(port),有点类似门户。比如我去朋友家,可能进他们的厨房门,书房门,地下室门,等等。不同的端口用处 不同。进厨房门可能看看做菜如何,进书房门可能一窥书香,进地下室门可能去品品葡萄酒。反正卧室门是不可以随便进的~


摘自百度百科:


==============

" 端口"是英文port的意译,可以认为是设备与外界通讯交流的出口。端口可分为虚拟端口和物理端口,其中虚拟端口指计算机内部或交换机路由器内的端口,不 可见。例如计算机中的80端口、21端口、23端口等。物理端口又称为接口,是可见端口,计算机背板的RJ45网口,交换机路由器集线器等RJ45端口。 电话使用RJ11插口也属于物理端口的范畴。

==============


如下图所示:


0?wx_fmt=jpeg

你可以加上-n参数,假如你想让端口信息以数字的形式显示,而不是像上图中那样有点看不懂的状态,比如https,nfs,mysql等等。


80端口是为HTTP(HyperText Transport Protocol)即超文本传输协议开放的,此为上网冲浪使用次数最多的协议,主要用于WWW(World Wide Web)即万维网传输信息的协议。可以通过HTTP地址(即常说的“网址”)加“:80”来访问网站,因为浏览网页服务默认的端口号都是80,因此只需输 入网址即可,不用输入“:80”了。


110端口是为POP3(邮件协议3)服务开放的,用于收发电子邮件。


21端口用于FTP(File Transfer Protocol,文件传输协议)服务,FTP服务主要是为了在两台计算机之间实现文件的上传与下载。


netstat -lt : 列出状态是LISTEN的统计信息


netstat -s : 列出总结性的统计信息


还有更多命令选项就用man ifconfig来查看吧。


iptables:参考系防火墙


现在既然我们已经知道如何分析网络传输,我们就趁热打铁,学习如何用防火墙来过滤网络传输。


Linux下著名的防火墙是iptables。它有点年纪了,已经服役十几年。iptables命令可以制定一些规则,规定其他电脑可以使用哪些端口来连接你的电脑(入),以及你的电脑可以连接哪些端口(出)。也可以通过IP地址来过滤。类似下图所示:



0?wx_fmt=jpeg


例如,我想要拦截所有FTP的连接,那么我可以用iptables封锁21端口。


安装iptables防火墙


如果没有安装iptables需要先安装,


CentOS执行:

sudo yum install iptables


Debian/Ubuntu执行:

sudo apt-get install iptables


iptables的使用需要root身份


为了使用iptables,你需要切换到root身份:


sudo su


iptables -L : 显示所有规则


0?wx_fmt=jpeg


可以看到三个区域:

  • Chain INPUT : 对应控制《进入》的网络传输的规则

  • Chain FORWARD : 对应控制《转发》的网络传输的规则

  • Chain OUTPUT : 对应控制《出去》的网络传输的规则


暂时我们还没有制定任何规则。我们慢慢来学习。



1、清除已有iptables规则(慎用)

iptables -F
iptables -X
iptables -Z


2、开放指定的端口

#允许本地回环接口(即运行本机访问本机)
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT

# 允许已建立的或相关连的通行
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

#允许所有本机向外的访问
iptables -A OUTPUT -j ACCEPT

# 允许访问22端口
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

#允许访问80端口
iptables -A INPUT -p tcp --dport 80 -j ACCEPT

#允许FTP服务的21和20端口
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 20 -j ACCEPT


#如果有其他端口的话,规则也类似,稍微修改上述语句就行。


#禁止其他未允许的规则访问(注意:如果22端口未加入允许规则,SSH链接会直接断开。)

1).用DROP方法

iptables -A INPUT -p tcp -j DROP

2).用REJECT方法

iptables -A INPUT -j REJECT
iptables -A FORWARD -j REJECT


3、屏蔽IP

#如果只是想屏蔽IP的话“3、开放指定的端口”可以直接跳过
#屏蔽单个IP的命令是
iptables -I INPUT -s 123.45.6.7 -j DROP

#封整个段即从123.0.0.1到123.255.255.254的命令
iptables -I INPUT -s 123.0.0.0/8 -j DROP

#封IP段即从123.45.0.1到123.45.255.254的命令
iptables -I INPUT -s 124.45.0.0/16 -j DROP

#封IP段即从123.45.6.1到123.45.6.254的命令是
iptables -I INPUT -s 123.45.6.0/24 -j DRO


4、查看已添加的iptables规则


iptables -L -n

v:显示详细信息,包括每条规则的匹配包数量和匹配字节数
x:在 v 的基础上,禁止自动单位换算(K、M) vps侦探
n:只显示IP地址和端口号,不将ip解析为域名


5、删除已添加的iptables规则


将所有iptables以序号标记显示,执行:

iptables -L -n --line-numbers


比如要删除INPUT里序号为8的规则,执行:

iptables -D INPUT 8


6、iptables的开机启动及规则保存


CentOS上可能会存在安装好iptables后,iptables并不开机自启动,可以执行一下:

chkconfig --level 345 iptables on

将其加入开机启动。


CentOS上可以执行:service iptables save 保存规则。


Debian/Ubuntu上iptables是不会保存规则的。


需要按如下步骤进行,让网卡关闭是保存iptables规则,启动时加载iptables规则。


如果当前用户不是root,即使使用了sudo,也会提示你没有权限,无法保存,所以执行本命令,你必须使用root用户。


可以使用sudo -i 快速转到root,使用完成,请及时使用su username切换到普通帐户。


为了重启服务器后,规则自动加载,我们创建如下文件:

sudo vim /etc/network/if-pre-up.d/iptables#!/bin/bash
 iptables-save > /etc/iptables.rules


添加执行权限。

chmod +x /etc/network/if-pre-up.d/iptables


附上基础规则:

*filter 
:INPUT ACCEPT [106:85568]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [188:168166]
:RH-Firewall-1-INPUT - [0:0]

#允许本地回环接口(即运行本机访问本机)
-A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT

#允许已建立的或相关连的通行
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

#允许所有本机向外的访问
-A OUTPUT -j ACCEPT

#允许PPTP拨号到外网
-A INPUT -p tcp -m tcp --dport 1723 -j ACCEPT

#仅特定主机访问Rsync数据同步服务
-A INPUT -s 8.8.8.8/32 -p tcp -m tcp --dport 873 -j ACCEPT

#仅特定主机访问WDCP管理系统
-A INPUT -s 6.6.6.6/32 -p tcp -m tcp --dport 8080 -j ACCEPT

#允许访问SSH
-A INPUT -p tcp -m tcp --dport 1622 -j ACCEPT

#允许访问FTP
-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 20 -j ACCEPT

#允许访问网站服务
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT

#禁止所有未经允许的连接
-A INPUT -p tcp -j DROP

#注意:如果22端口未加入允许规则,SSH链接会直接断开
#-A INPUT -j REJECT
#-A FORWARD -j REJECT
COMMIT


可以使用一下方法直接载入:


1、复制上面的规则粘贴到这里,保存本文件

sudo vim /etc/iptables.test.rules

2、把本规则加载,使之生效,注意,iptables不需要重启,加载一次规则就成了

sudo iptables-restore < /etc/iptables.test.rules

3、查看最新的配置,应该所有的设置都生效了.

sudo iptables -L -n

4、保存生效的配置,让系统重启的时候自动加载有效配置(iptables提供了保存当前运行的规则功能)

iptables-save > /etc/iptables.rules


看着很复杂,因为还没学习脚本语言和Vim编辑器的关系。刚好,我们第五部分就会学习Vim编辑器和脚本。


如果你想提前试试,也可以看Ubuntu官方的关于保存和配置开机加载iptables规则的文章:https://help.ubuntu.com/community/IptablesHowTo#Saving_iptables


我们也见识到了,iptables的配置相当繁复,普通用户简直望而却步。幸好,有一些软件可以帮助我们减轻痛苦:


UFW - Uncomplicated Firewall


UFW是Uncomplicated Firewall的缩写,顾名思义这个软件是“不复杂的防火墙”,比iptables简单很多。但ufw并不是在每个Linux发行版中都有的,幸好,Ubuntu中有。


Ubuntu官方UFW文档:https://help.ubuntu.com/community/UFW


中文Ubuntu官方UFW文档:http://wiki.ubuntu.org.cn/Ufw%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97


当然了,还有更好的图形界面的UFW:gufw


Ubuntu官方GUFW文档:https://help.ubuntu.com/community/Gufw


0?wx_fmt=png


注意:

新的防火墙子系统/包过滤引擎nftables在 Linux 3.13 中替代有十多年历史的iptables。iptables/netfilter是在2001年加入到2.4内核中。


诞生于2008年的nftables设计替代iptables,它提供了一个更简单的Kernel ABI,减少重复代码,改进错误报告,更有效支持过滤规则。


除 了iptables,nftables还将替代ip6tables、arptables和ebtables。Linux内核的第一代包过滤机制是 ipfwadm(1.2.1内核,1995年),之后是ipchains(1999年),iptables。nftables是第四代。


nftables引入了一个新的命令行工具nft。nft是iptables及其衍生指令(ip6tables,arptables)的超集。


同时,nft拥有完全不同的语法。如果你习惯于iptables,这是个不好的消息。但是有一个兼容层允许你使用iptables,而过滤是由内核中的nftables完成的。


但是基本的原理是类似的,nftables比iptables更方便,使用更有效率,可以把一些命令合并。


例如:


你想用iptables记录并丢弃一个包,你必须写两条规则,一条记录,一条丢弃:


iptables -A FORWARD -p tcp --dport 22 -j LOG
iptables -A FORWARD -p tcp --dport 22 -j DROP


使用nft,你可以把两个目标合并到一起:


nft add rule filter forward tcp dport 22 log drop


所以,假如你的Linux内核版本是3.13之前的,那就继续使用iptables;如果是3.13版本之后,那就用nftables吧(其实nftables要从3.15版本才开始比较成熟)。


还有更多命令选项就用man iptables和man nftables来查看吧。


总结


  1. 在Internet(互联网)上,每台电脑都由IP地址来标识。例如:89.210.135.74

  2. 我们可以把一个主机名绑定到一个IP地址上,主机名相对IP地址更容易被记住。例如:coderunity.com  在很多场合,用主机名就可以代替IP地址了。

  3. host命令可以从IP地址解析出对应主机名,或者从主机名解析出IP地址。

  4. ifconfig命令列出你电脑上的网络接口(对应虚拟网卡或实体网卡),可以配置和操作这些接口。

  5. netstat列出你电脑上打开的连接,说明当下哪些端口正打开着,一个端口就好比引导出入你电脑的门户。

  6. 可以用iptables来拦截进入某些端口的连接,它是一个很不错的防火墙。但是配置比较复杂。iptables配置很繁琐,可以用ufw软件来减轻压力。从Linux 3.13开始,nftables替代了iptables。


第四部分第五课预告


今天的课就到这里,一起加油吧!

下一课我们学习:源码编译,安装便利

【Linux探索之旅】第四部分第四课:分析网络,隔离防火

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
上一课中我教给您三角形和四边形的着色。这一课我将教您如何将这些彩色对象绕着坐标轴旋转。 其实只
Linux SSH登录方式 使用密码登录 这种方式最为原始,也是常见的SSH登录Linux的验证方法,但其安全性
引用 笔记--插入排序 1.插入排序类 package com.flysnow.chap03; /** * 插入排序 * @author 飞雪无
引用 笔记--插入排序 1.插入排序类 package com.flysnow.chap03; /** * 插入排序 * @author 飞雪无
第四课:旋转 旋转: 在这一课里,我将教会你如何旋转三角形和四边形。左图中的三角形沿Y轴旋转,四
1、新建项目<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
引用 笔记--插入排序 1.插入排序类 package com.flysnow.chap03; /** * 插入排序 * @author 飞雪无
OpenGL支持两种颜色模式:一种是RGBA,一种是颜色索引模式。 无论哪种颜色模式,计算机都必须为每一
一、基本数据类型的包装类     1、 基本数据类型和包装类的对应关系 基本数据类型 包装类 byte
今天终于有时间推出第四课了,下个个礼拜末就要去武汉出差了,可能就 没时间了,所以争取出差前把Jq
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号