1. 程式人生 > >Linux網絡相關,firewalld和netfilter,netfilter5表5鏈介紹,iptables語法

Linux網絡相關,firewalld和netfilter,netfilter5表5鏈介紹,iptables語法

iptables netfilter linux

筆記內容:

l 10.11 Linux網絡相關

l 10.12 firewalldnetfilter

l 10.13 netfilter55鏈介紹

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命令,因為網卡被斷掉了,遠程就無法連接了,要同時使用ifdownifup才行:

技術分享


給網卡設定虛擬的網卡:

1.使用命令:cd /etc/sysconfig/network-scripts/ 進入到network-scripts目錄下,然後拷貝網卡配置文件:

技術分享


2.編輯拷貝的網卡配置文件:

技術分享


3.重啟網卡,並使用ifconfig命令查看信息:

技術分享

我們可以打開cmdping一下這個虛擬網卡的地址,看看是否能ping通:


技術分享

ping通就證明沒問題。


mii-tool命令可以查看網卡是否在連接狀態:

技術分享

link ok則表示是連接狀態。

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

技術分享


hostnamectlCentOS7的命令,CentOS6不支持,這個命令可以更改主機名,主機名的配置文件在etc目錄下的hostname中:

技術分享


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

技術分享

nameserver行的ip地址來自於網卡配置文件,可以在resolv.conf文件裏臨時更改DNS

/etc/hosts文件是LinuxWindows都有的,用於指定域名訪問的IP地址:

技術分享


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

技術分享

技術分享

ping這個域名時就會訪問127.0.0.1 IP地址


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

技術分享

技術分享


如果有兩個同樣的域名指定了不同的IP,以第一個的那個IP為準:

技術分享

技術分享



10.12 firewalldnetfilter

技術分享

臨時關閉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 55鏈介紹

技術分享


使用man命令可以看到關於netfilter5個表的解釋:

技術分享

比較常用的是filternat表,filter是最常用的表,用於過濾數據包,這個表裏有INPUTFORWARDOUTPUT三個鏈。INPUT 是數據包進入到本機的時候需要經過的一個鏈,在數據包經過這個鏈的時候可以做些操作,例如我要檢查這個數據包訪問的端口和源IP是什麽,發現可疑的IP就可以禁掉。

接收到的數據包會經過一個判斷,判斷是否是發送到本機的,如果不是發送到本機的就會經過FORWARD這個鏈,當數據包經過FORWARD鏈的時候,我們也可以做一些操作,例如更改數據包的目標地址或者進行轉發。

OUTPUT是在本機產生的一些包,在出去之前要做的一些操作,例如有個數據包要發給某個IP,但是這個IP我要禁掉,所以數據包就不會發往這個IP

nat表用於網絡地址轉換,有PREROUTINGOUTPUTPOSTROUTING三個鏈。OUTPUTfilter表的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的話,遠程終端就會斷開,因為服務器拒絕通信了,所以默認策略一般不用更改。


本文出自 “12831981” 博客,請務必保留此出處http://12841981.blog.51cto.com/12831981/1973416

Linux網絡相關,firewalld和netfilter,netfilter5表5鏈介紹,iptables語法