ifconfig查看網卡ip(yum install net-tools) //7默認沒有,須要安裝html
ifup ens33/ifdown ens33 //單獨對某個指定網卡操做的時候用linux
ifdown ens33 && ifup ens33 //這樣作安全vim
設定虛擬網卡ens33:1windows
mii-tool ens33 查看網卡是否鏈接centos
ethtool ens33 也能夠查看網卡是否鏈接安全
更改主機名 hostnamectl set-hostname aminglinux服務器
DNS配置文件/etc/resolv.conf網絡
/etc/hosts文件dom
1. ifconfig 查看網卡IPtcp
ifconfig相似與windows的ipconfig,不加任何選項和參數只打印當前網卡的IP相關信息(子網掩碼、網關等)在以前的章節中曾經瞭解過。在windows下設置IP很是簡單,然而在命令窗口下如何設置?這就須要去修改配置文件/etc/sysconfig/network-scripts/ifcfg-xxx了。這裏的xxx指的是網卡的名字,可使用ip sddr命令查看全部網卡的名字。
若是Linux上有多個網卡,而只想重啓某一個網卡的話,可使用這個命令:
ifdown ens33; ifup ens33
ifdown 即停掉網卡,ifup即啓動網卡。有一點要提醒的是,若是咱們遠程登陸服務器,當使用ifdown ens33這個命令的時候,頗有可能後面的命令ifup ens33不會被運行,這樣致使咱們斷網而沒法鏈接服務器,因此請儘可能使用 service network restart 這個命令來重啓網卡。
2. 給一個網卡設定多個IP
在linux系統中,網卡是能夠設定多重IP的。
cd /etc/sysconfig/network-scripts/
而後編輯ifcfg-ens33:1 這個配置文件,內容以下,必定要注意 DEVICE 這裏要寫成 「ens33:1」
其實就是改一下NAME,DEVICE,IPADDR,設置完畢重啓網卡,以下所示:
以後再查看網卡ip:
能夠看到多了一個ip.
3. 查看網卡鏈接狀態
只要看到 「link ok」 就說明網卡爲鏈接狀態,若是顯示 「no link」 說明網卡壞掉了或者沒有鏈接網線。
4. 更改主機名
https://jingyan.baidu.com/article/574c52192a1d8d6c8d9dc1ce.html
當裝完系統後,默認主機名爲localhost,使用hostname就能夠知道所用的linux的主機名是什麼:
[root@localhost ~]# hostname localhost.localdomain
一樣使用hostname能夠更改主機名:
[root@localhost ~]# hostname nan [root@localhost ~]# hostname nan
下次登陸時就會把命令提示符 [root@localhost ~] 中的 localhost 更改爲 nan 不過這樣修改只是保存在內存中,下次重啓還會變成未改以前的主機名,因此還要去更改相關的配置文件 「etc/sysconfig/network」
[root@localhost ~]# vim /etc/sysconfig/network NETWORKING=yes HOSTNAME=nan.localdomain
hostnamectl set-hostname XXX 這種方法會自動更改文件內容
5. 設置DNS
DNS是用來解析域名用的,平時咱們訪問網站都是直接輸入一個網址,而dns把這個網址解析到一個IP。關於dns的概念,若是很陌生的話,那就去網上查一下吧。在linux下面設置dns很是簡單,只要把dns地址寫到一個配置文件中便可。這個配置文件就是/etc/resolv.conf
resolv.conf有它固有的格式,必定要寫成 「nameserver IP」 的格式,上面那行以 ‘;’ 爲開頭的行是一行註釋,沒有實際意義,建議寫兩個或多個namserver ,默認會用第一個namserver去解析域名,當第一個解析不到時會使用第二個。在linux下面有一個特殊的文件/etc/hosts也能解析域名,不過是須要咱們手動在裏面添加IP+域名這些內容,它的做用是臨時解析某個域名,很是有用。
vim編輯該文件,填加一行192.168.174.1 www.baidu.com 保存後,再ping一下 www.baidu.com 就會到 192.168.174.1 了:
/etc/hosts 的格式很簡單,每一行做爲一條記錄,分紅兩部分,第一部分是IP,第二部分是域名。關於hosts文件,有幾點須要注意:
1)一個IP後面能夠跟多個域名,能夠是幾十個甚至上百個;
2)每行只能有一個IP,也就是說一個域名不能對應多個IP;
3)若是有多行中出現相同的域名(前面IP不同),會按最前面出現的記錄來解析。
(hosts解析是先解析的優先級高, 127.0.0.1是個特例,這個表明本地的IP的優先級高。 以先出現的記錄爲主, 這個文件也是從上到下依次執行的,一旦匹配到一個域名就直接解析了,即便後面再出現這域名也不生效了。 )
selinux臨時關閉 setenforce 0
selinux永久關閉 vi /etc/selinux/config //SELINUX=enforcing 改爲SELINUX=disabled
getenforce //查看狀態
centos7以前使用netfilter防火牆
centos7開始使用firewalld防火牆
關閉firewalld開啓netfilter方法
systemctl disable firewalled //不讓開機啓動
systemctl stop firewalld //關閉服務
yum install -y iptables-services
systemctl enable iptables
systemctl start iptables
iptables -nvL
10.13 netfilter5表5鏈介紹
netfilter的5個表
filter表用於過濾包,最經常使用的表,有INPUT、FORWARD、OUTPUT三個鏈
nat表用於網絡地址轉換,有PREROUTING、OUTPUT、POSTROUTING三個鏈
managle表用於給數據包作標記,幾乎用不到
raw表能夠實現不追蹤某些數據包,基本歷來不用
security表在centos6中並無,用於強制訪問控制(MAC)的網絡規則,阿銘沒用過
參考文章 http://www.cnblogs.com/metoy/p/4320813.html
數據包流向與netfilter的5個鏈
PREROUTING:數據包進入路由表以前
INPUT:經過路由表後目的地爲本機
FORWARD:經過路由表後,目的地不爲本機
OUTPUT:由本機產生,向外發出
POSTROUTING:發送到網卡接口以前
查看iptables規則:iptables -nvL
iptables -F 清空規則
service iptables save 保存規則
iptables -t nat //-t指定表
iptables -Z 能夠把計數器清零
iptables -A INPUT -s 192.168.188.1 -p tcp --sport 1234 -d 192.168.188.128 --dport 80 -j DROP
iptables -I INPUT -p tcp --dport 80 -j DROP
iptables -I/-A/-D INPUT -s 1.1.1.1 -j DROP
iptables -I INPUT -s 192.168.1.0/24 -i eth0 -j ACCEPT //指定行爲
iptables -nvL --line-numbers //顯示規則對應的數字,根據編號刪除規則更方便
iptables -D INPUT 1
iptables -P INPUT DROP //一旦執行,就斷開了,保持默認便可 P:默認策略policy
Iptables是linux上特有的防火牆機制,其功能很是強大,然而在平常的管理工做中僅僅用到了一兩個應用,這並不表明iptables不重要。做爲一個網絡管理員,iptables是必要要熟練掌握的。可是做爲系統管理員,咱們也應該會最基本的iptables操做,認識iptables的基本規則。
CentOS上默認是設有iptables規則的,這個規則雖然很安全,可是對於咱們來講沒有用,反而會形成某些影響,因此建議先清除規則,而後把清除後的規則保存一下:
-nvL 就是查看規則, -F 是把當前規則清除,但這個只是臨時的,重啓系統或者重啓 iptalbes 服務後還會加載已經保存的規則,因此須要使用 /etc/init.d/iptables save 保存一下規則(service iptables save),經過上邊的命令輸出咱們也能夠看到,防火牆規則保存在了/etc/sysconfig/iptables 能夠查看一下這個文件。重啓服務能夠加載回來service iptables restart
1)iptalbes的三個表
filter 這個表主要用於過濾包的,是系統預設的表,這個表用的最多的。內建三個鏈INPUT、OUTPUT以及FORWARD。INPUT做用於進入本機的包;OUTPUT做用於本機送出的包;FORWARD做用於那些跟本機無關的包。
nat 主要用處是網絡地址轉換,也有三個鏈。PREROUTING 鏈的做用是在包剛剛到達防火牆時改變它的目的地址,若是須要的話。OUTPUT鏈改變本地產生的包的目的地址。POSTROUTING鏈在包就要離開防火牆以前改變其源地址。該表用的很少,但有時候會用到。
mangle 這個表主要是用於給數據包打標記,而後根據標記去操做哪些包。這個表幾乎不怎麼用。除非想成爲一個高級網絡工程師,不然就沒有必要花費不少心思在它上面。
2)iptables 基本語法
A. 查看規則以及清除規則
[root@localhost ~]# iptables -t nat -nvL
-t 後面跟表名,-nvL 即查看該表的規則,其中-n表示不針對IP反解析主機名;-L表示列出的意思;而-v表示列出的信息更加詳細。若是不加-t ,則打印filter表的相關信息:
[root@localhost ~]# iptables -nvL
這個和-t filter 打印的信息是同樣的。
關於清除規則的命令中,用的最多就是:
[root@localhost ~]# iptables -F [root@localhost ~]# iptables -Z
不加-t默認是針對表filter來操做的,-F 表示把全部規則所有刪除;-Z表示把包以及流量計數器置零(這個頗有用)。
B. 增長/刪除一條規則
# iptables -A INPUT -s 10.72.11.12 -p tcp --sport 1234 -d 10.72.137.159 --dport 80 -j DROP
這就是增長了一條規則,省略-t因此針對的是filter表。-A 表示增長一條規則,另外還有-I 表示插入一條規則,-D刪除一條規則;後面的INPUT即鏈名稱,還能夠是OUTPUT或者FORWORD;-s 後跟源地址;-p 協議(tcp, udp, icmp); --sport/--dport 後跟源端口/目標端口;-d 後跟目的IP(主要針對內網或者外網);-j 後跟動做(DROP即把包丟掉,REJECT即包拒絕;ACCEPT即容許包)。下面再舉幾個例子以便理解:
[root@localhost ~]# iptables -I INPUT -s 1.1.1.1 -j DROP
上例表示:插入一條規則,把來自1.1.1.1的全部數據包丟掉。
[root@localhost ~]# iptables -D INPUT -s 1.1.1.1 -j DROP
刪除剛剛插入的規則。注意要刪除一條規則時,必須和插入的規則一致,也就是說,兩條iptables命令,除了-I 和-D不同外,其餘地方都同樣。
[root@localhost ~]# iptables -I INPUT -s 2.2.2.2 -p tcp --dport 80 -j DROP
上例表示把來自2.2.2.2 而且是tcp協議到本機的80端口的數據包丟掉。這裏要說的是,--dport/--sport 必需要和-p選項一塊兒使用,不然會出錯。
[root@localhost ~]# iptables -I OUTPUT -p tcp --dport 22 -d 10.0.1.14 -j DROP
這條規則表示,把發送到10.0.2.34的22端口的數據包丟掉。
至於FORWORD鏈的應用幾乎不多用,因此再也不舉例。再總結一下各個選項的做用:
-A/-D :增長刪除一條規則;
-I :插入一條規則,其實跟-A的效果同樣;
-p :指定協議,能夠是tcp,udp或者icmp;
--dport :跟-p一塊兒使用,指定目標端口;
--sport :跟-p一塊兒使用,指定源端口;
-s :指定源IP(能夠是一個ip段);
-d :指定目的IP(能夠是一個ip段);
-j :後跟動做,其中ACCEPT表示容許包,DROP表示丟掉包,REJECT表示拒絕包;
-i :指定網卡(不經常使用,但有時候能用到);
[root@localhost ~]# iptables -A INPUT -s 192.168.1.0/24 -i ens33 -j ACCEPT [root@localhost ~]# iptables -nvL |grep '192.168.1.0/24' 0 0 ACCEPT all -- ens33 * 192.168.1.0/24 0.0.0.0/0
上例中表示,把來自192.168.1.0/24這個網段的而且做用在ens33上的包放行。有時候服務器上iptables過多了,想刪除某一條規則時,又不容易掌握當時建立時的規則。其實有一種比較簡單的方法:
[root@localhost ~]# iptables -nvL --line-numbers Chain INPUT (policy ACCEPT 133 packets, 9740 bytes) num pkts bytes target prot opt in out source destination 1 0 0 ACCEPT all -- ens33 * 192.168.1.0/24 0.0.0.0/0
刪除某一條規則使用以下命令:
[root@localhost ~]# iptables -D INPUT 1
-D 後跟鏈名,而後是規則num,這個num就是查看iptables規則時第一列的值。再次查看剛纔的規則,已經沒有了:
[root@localhost ~]# iptables -nvL --line-numbers
iptables還有一個選項常常用到,-P(大寫)選項,表示預設策略。用法以下:
[root@localhost ~]# iptables -P INPUT DROP
-P後面跟鏈名,策略內容或者爲DROP或者爲ACCEPT,默認是ACCEPT。注意:若是在鏈接遠程服務器,千萬不要隨便敲這個命令,由於一旦敲完回車就會斷掉。
(進本機的包,一般狀況下目標地址就是本機的ip。 但若是你這臺機器作的角色是一臺路由器,那目標地址就是其餘機器,跟本機沒有關係了。)