Linux網絡相關,firewalld和netfilter,netfilter5表5鏈介紹,iptables語法
筆記內容:
l 10.11 Linux網絡相關
l 10.12 firewalld和netfilter
l 10.13 netfilter5表5鏈介紹
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命令,因為網卡被斷掉了,遠程就無法連接了,要同時使用ifdown和ifup才行:
給網卡設定虛擬的網卡:
1.使用命令:cd /etc/sysconfig/network-scripts/ 進入到network-scripts目錄下,然後拷貝網卡配置文件:
2.編輯拷貝的網卡配置文件:
3.重啟網卡,並使用ifconfig命令查看信息:
我們可以打開cmd來ping一下這個虛擬網卡的地址,看看是否能ping通:
能ping通就證明沒問題。
mii-tool命令可以查看網卡是否在連接狀態:
是link ok則表示是連接狀態。
如果mii-tool命令不支持的話,還可以使用ethtool命令查看:
hostnamectl是CentOS7的命令,CentOS6不支持,這個命令可以更改主機名,主機名的配置文件在etc目錄下的hostname中:
DNS配置文件在etc目錄下的resolv.conf中:
nameserver行的ip地址來自於網卡配置文件,可以在resolv.conf文件裏臨時更改DNS。
/etc/hosts文件是Linux、Windows都有的,用於指定域名訪問的IP地址:
例如我修改hosts文件指定一個域名的ip:
ping這個域名時就會訪問127.0.0.1 IP地址
一個IP可以指定多個域名:
如果有兩個同樣的域名指定了不同的IP,以第一個的那個IP為準:
10.12 firewalld和netfilter
臨時關閉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 5表5鏈介紹
使用man命令可以看到關於netfilter的5個表的解釋:
比較常用的是filter和nat表,filter是最常用的表,用於過濾數據包,這個表裏有INPUT、FORWARD、OUTPUT三個鏈。INPUT 是數據包進入到本機的時候需要經過的一個鏈,在數據包經過這個鏈的時候可以做些操作,例如我要檢查這個數據包訪問的端口和源IP是什麽,發現可疑的IP就可以禁掉。
接收到的數據包會經過一個判斷,判斷是否是發送到本機的,如果不是發送到本機的就會經過FORWARD這個鏈,當數據包經過FORWARD鏈的時候,我們也可以做一些操作,例如更改數據包的目標地址或者進行轉發。
OUTPUT是在本機產生的一些包,在出去之前要做的一些操作,例如有個數據包要發給某個IP,但是這個IP我要禁掉,所以數據包就不會發往這個IP。
nat表用於網絡地址轉換,有PREROUTING、OUTPUT、POSTROUTING三個鏈。OUTPUT和filter表的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語法