10.11 Linux網絡相關html
1. ifconfig查看網卡ip(若是沒有這個命令請使用yum install net-tools安裝)linux
2、重啓網卡:vim
命令:service network restart或者ifdown eth0 && ifup eth0centos
ifdown 即停掉網卡,ifup即啓動網卡。有一點要提醒你的是,若是咱們遠程登陸服務器,當使用ifdown eth0這個命令的時候,頗有可能後面的命令ifup eth0不會被運行,這樣致使咱們斷網而沒法鏈接服務器,因此請儘可能使用 service network restart或ifdown eno16777736 &&ifup eno16777736 (能夠單獨重啓指定的某張網卡而不是重啓整個網絡服務)這個命令來重啓網卡安全
3.一個網卡設定多個IP服務器
設定虛擬網卡eth0:1 網絡
3.1 先進入:cd /etc/sysconfig/network-scripts/ dom
3.2 再拷貝備份網卡:cp ifcfg-eth0 ifcfg-eth0\:1 //複製網卡配置文件,並取一個新的網卡名,這裏加反斜槓(\)是由於要把:轉義,否則linux命令沒法識別。tcp
3.3 而後編輯網卡配置信息:vim ifcfg-eth0:1ide
3.4 配置ifcfg-eth0添加另外的IP地址以下:
TYPE=Ethernet BOOTPROTO=static DEFROUTE=yes PEERDNS=yes PEERROUTES=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_PEERDNS=yes IPV6_PEERROUTES=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=eth0:1 //這個地方要更改爲前面設置的eth0:1 UUID=3c08189a-cb3f-4879-92de-ee0691b1d4cc DEVICE=eth0:1//這個地方要更改爲前面設置的eth0:1 ONBOOT=yse IPADDR=192.168.1.190 //更改一個沒有使用的IP NETMASK=255.255.0.0 GATEWAY=192.168.1.1 DNS1=119.29.29.29 DNS2=8.8.8.8
3.5 重啓網卡查看多出來的網卡信息:ifdown eth0:1 &&ifup eth0:1
4、查看網卡是否鏈接 命令以下:
mii-tool eth0 //link ok表示鏈接正常,若是顯示no link表示網卡壞了或沒有鏈接網線
ethtool eth0 //最後一行顯示link detected:yes說明網卡正常,若是顯示爲no,說明網卡壞或沒有鏈接網線
5、更改主機名:hostnamectl set-hostname pme (這個命令能夠直接更改/ect/hostname文件 只適用centos7)
使用hostname命令就能夠知道你的linux的主機名是什麼。hostname pme命令這樣修改只是保存在內存中,下次重啓還會變成未改以前的主機名,因此須要你還要去更改相關的配置文件 /etc/hostname.
6.DNS配置文件: cat /etc/resolv.conf
6.1 若是要修改dns,則要進網卡配置文件裏面修改並重啓網卡便可:
vim /etc/sysconfig/network-scripts/ifcfg-eth0
6.2 臨時更改DNS :vim /etc/resolv.conf
6.3 /etc/hosts
在linux下有一個特殊文件/etc/hosts可能解析域名,不過須要咱們在裏面手動添加ip與域名,它的做用是臨時解析某個域名,很是有用。
注意: 1. 一個IP後面能夠跟多個域名,能夠是幾十個甚至上百個。 2. 每一行只能有一個IP,也就是一個域名不能對應多個IP。 3. 若是有多行中出現相同的域名(對應的IP不同),會按最前面出現的記錄來解析。
實驗:
[root@aminglinux-01 ~]# cat /etc/hosts //查看文件內容
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
[root@aminglinux-01 ~]# ping www.qq123.com
PING www.qq123.com (202.91.250.93) 56(84) bytes of data.
64 bytes from 202.91.250.93 (202.91.250.93): icmp_seq=1 ttl=231 time=30.3 ms
64 bytes from 202.91.250.93 (202.91.250.93): icmp_seq=2 ttl=231 time=30.2 ms
64 bytes from 202.91.250.93 (202.91.250.93): icmp_seq=3 ttl=231 time=30.2 ms
--- www.qq123.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 30.227/30.284/30.395/0.162 ms
[root@aminglinux-01 ~]# vim /etc/hosts //編輯文件把上面這個域名指向的ip更改爲192.168.1.190 ,保存退出
[root@aminglinux-01 ~]# ping www.qq123.com //驗證域名指定IP
PING www.qq123.com (192.168.1.190) 56(84) bytes of data.
64 bytes from www.qq123.com (192.168.1.190): icmp_seq=1 ttl=64 time=0.152 ms
64 bytes from www.qq123.com (192.168.1.190): icmp_seq=2 ttl=64 time=0.086 ms
64 bytes from www.qq123.com (192.168.1.190): icmp_seq=3 ttl=64 time=0.060 ms
10.12 firewalld和netfilter
1. SElinux selinux是Linux系統特有的安全機制,由於這種機制的限制太多,配置也麻煩,因此幾乎沒有人真正的應用它。安裝完系統後咱們通常會選擇關閉selinux。
以使用 getenforce 命令得到當前selinux的狀態:
1、selinux臨時關閉 :setenforce 0
2、selinux永久關閉: vi /etc/selinux/config (/把enforcing改爲disabled)重啓生效
3. netfilter和firewalld 在centos版本5和6上用的防火牆是netfiler,centos7則用的是firewalld防火牆,不少人把Linux的防火牆叫做iptables,其實這不是,iptables僅僅是一個工具。目前如今不少企業依然在使用centos6,但firewalld是向下兼容netfiler的,一樣也支持以前版本的命令用法。
3.1 關閉firewalld開啓netfilter方法:
(1)systemctl disable firewalled //禁止firewalld服務開機啓動
(2)systemctl stop firewalld //關閉firewalld服務
(3)yum install -y iptables-services //安裝iptables-services,這樣就可使用以前版本的iptables了。
(4)systemctl enable iptables //讓它開機啓動
(5) systemctl start iptables //啓動iptables服務
10.13 netfilter5表5鏈介紹
netfilter5表5鏈介紹 netfilter的5個表 1. filter表用於過濾包,是系統預設的表,也是最經常使用的表,該表有內建三個鏈INPUT、 OUTPUT、FORWARD。 - INPUT鏈做用於進入本機的包。 - OUTPUT鏈做用於本機送機的包。 - FORWARD鏈做用於那些跟本機無關的包。 2. nat表用於網絡地址轉換,有PREROUTING、OUTPUT、POSTROUTING三個鏈。 - PREROUTINC鏈的做用是在包剛剛到達防火牆時改變它的目的地址(若是須要的話) - OUTPUT鏈的做用是改變本地產生的包的目的地址。 - POSTROUTINC鏈的做用是在包即將離開防火牆時改變其源地址。 3. 數據包流向與netfilter的5個鏈 - PREROUTING:數據包進入路由表以前。 - INPUT:經過路由表後目的地爲本機。 - FORWARD:經過路由表後,目的地不爲本機。 - OUTPUT:由本機產生,向外發出。 - POSTROUTING:發送到網卡接口以前。 4. 具體的數據包流向,能夠參考下圖。
5.參考文章iptables詳解: http://www.cnblogs.com/metoy/p/4320813.html
netfilter/iptables(簡稱爲iptables)組成Linux平臺下的包過濾防火牆,與大多數的Linux軟件同樣,這個包過濾防火牆是免費的,它能夠代替昂貴的商業防火牆解決方案,完成封包過濾、封包重定向和網絡地址轉換(NAT)等功能。
規則(rules)其實就是網絡管理員預約義的條件,規則通常的定義爲「若是數據包頭符合這樣的條件,就這樣處理這個數據包」。規則存儲在內核空間的信息 包過濾表中,這些規則分別指定了源地址、目的地址、傳輸協議(如TCP、UDP、ICMP)和服務類型(如HTTP、FTP和SMTP)等。當數據包與規 則匹配時,iptables就根據規則所定義的方法來處理這些數據包,如放行(accept)、拒絕(reject)和丟棄(drop)等。配置防火牆的 主要工做就是添加、修改和刪除這些規則。
這是第一個要說的地方,Iptables和netfilter的關係是一個很容易讓人搞不清的問題。不少的知道iptables殊不知道 netfilter。其實iptables只是Linux防火牆的管理工具而已,位於/sbin/iptables。真正實現防火牆功能的是 netfilter,它是Linux內核中實現包過濾的內部結構。
10.14 iptables語法
1. iptables已經有默認規則,咱們能夠用如下命令查看。可是咱們在設置本身的規則以前,建議先將其清除。-nvL選項表示查看規則,-F選項表示清除當前規則,但清除只是臨時的,重啓仍是會加載已經保存的規則,因此須要使用service iptables save保存一下規則。經過下面這個命令輸出,咱們也能夠看到防火牆規則保存在/etc/sysconfig/iptables裏,能夠查看下這個文件。
1.1 查看iptables規則:iptables -vnL
1.2 清空規則命令:iptables -F
1.3 永久保存規則命令: service iptables save 會把規則保存到 /etc/sysconfig/iptables
1.4 命令: iptables -t nat // -t 指定表(不加t,默認就是filter表)
1.5 命令:iptables -Z //-Z把包和流量計數器清零
1.6 增長一條規則:
iptables -A INPUT -s 192.168.188.1 -p tcp –sport 1234 -d 192.168.188.128 –dport 80 -j DROP
1.7. iptables -I INPUT -s 1.1.1.1 -j DROP //表示插入一條規則,丟掉全部來自1.1.1.1的數據包。 1.8 iptables -A INPUT -s 1.1.1.1 -j DROP //表示增長一條規則 1.9 iptables -D INPUT -s 1.1.1.1 -j DROP //注意刪除一條規則時,必須和插入的規則一致。 1.10 iptables -I INPUT -s 192.168.1.0/24 -i eth0 -j ACCEPT //表示把來自192.168.1.0/24這個網段且做用在etho上的包放行。 2.1 有時候服務器上的iptables過多了,你想刪除一某一條規則,但又不知道以前建立時的規則(經過編號去刪除),你可先查看iptables規則,命令以下:
2.1.1 在規則前用編號顯示出來: iptables -nvL --line-numbers (注意line前是雙橫線)
2.1.2刪除編號爲1的規則: iptables -D INPUT 2
3.默認規則: iptables -P INPUT DROP (說明:-P後面跟鏈名,策略內容或爲DROP,或爲ACCEPT,默認是ACCEPT。注意:若是你在鏈接遠程服務器,千萬不要隨便執行這個命令,由於一旦輸入命令並回車,遠程鏈接會被斷開。這個策略一旦設定成功後,只有使用命令iptables -P INPUT ACCEPT才能恢復成原始狀態)
4.總結:
-A/-D :增長刪除一條規則;
-I :插入一條規則,其實跟-A的效果同樣;
-p :指定協議,能夠是tcp,udp或者icmp;
–dport :跟-p一塊兒使用,指定目標端口;
–sport :跟-p一塊兒使用,指定源端口;
-s :指定源IP(能夠是一個ip段);
-d :指定目的IP(能夠是一個ip段);
-j :後跟動做,其中ACCEPT表示容許包,DROP表示丟掉包,REJECT表示拒絕包;
-i :指定網卡(不經常使用,但有時候能用到)