若是系統沒有該命令可使用yum安裝:前端
[root@1 ~]# yum install -y net-tools
查看網卡IP還可使用命令:ip add,這個顯示有點亂!linux
顯示全部網卡信息(包括down掉的或者沒有IP地址的網卡)vim
應用環境:更改單個指定網卡配置後須要重啓才能生效,爲了不關閉或重啓全部網卡能夠對單個網卡執行該命令。
注: 若是網卡正在使用中,不要單獨使用ifdown命令!!!解決辦法: 「# ifdown ens33 && ifup ens33」,使兩個命令一塊兒執行!centos
關閉虛擬機,按以下順序操做:網絡
點擊下一步:dom
在此能夠指定網絡適配器(網卡)類型,也能夠在添加完成後進行選擇:tcp
點擊「肯定」即添加完成!工具
注: 若是以上操做是在開機狀態下執行,添加完成後須要重啓網絡服務!!!oop
查看新增網卡的配置信息:學習
在此能夠查看其所在網段。
配置新增網卡信息:
開啓虛擬機後進行以下操做:
查看網絡信息:
網卡配置文件位置(複製原有網卡,進行重命名): /etc/sysconfig/network-scripts/ [root@localhost ~]# cd /etc/sysconfig/network-scripts/ 建立新增網卡配置文件: [root@localhost network-scripts]# cp ifcfg-ens33 ifcfg-ens37 [root@localhost network-scripts]# vim ifcfg-ens37 #更改該配置文件下的網卡名爲ens37 #刪除UUID 配置完成後重啓網絡服務: [root@localhost network-scripts]# systemctl restart network 至此,添加完成,以後變能夠經過編輯該文件來配置該網卡!!!
注: 因本次添加的網卡的網絡鏈接類型是host-only模式,因此其IP和ens33不在同一網段。
一、切換至網卡配置文件 [root@1 ~]# cd /etc/sysconfig/network-scripts/ 二、複製系統網卡 [root@1 network-scripts]# cp ifcfg-ens33 ifcfg-ens33\:0 三、編輯複製的配置文件 [root@1 network-scripts]# vi ifcfg-ens33\:0 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=ens33:0 DEVICE=ens33:0 ONBOOT=yes IPADDR=192.168.8.138 NETMASK=255.255.255.0 GATEWAY=192.168.8.2 DNS1=119.29.29.29 說明:更改NAME、DEVICE、IPADDR,系統已經設定網關可DNS,因此在此能夠刪除GATEWAY和DNS,也能夠保留,可是,若是要保留該選項則必須保持其與系統網卡配置一致! 四、重啓系統網卡 [root@1 network-scripts]# ifdown ens33 && ifup ens33 成功斷開設備 'ens33'。 成功激活的鏈接(D-Bus 激活路徑:/org/freedesktop/NetworkManager/ActiveConnection/3) 五、查看網卡信息 [root@1 network-scripts]# ifconfig ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.8.125 netmask 255.255.255.0 broadcast 192.168.8.255 …… ens33:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.8.158 netmask 255.255.255.0 broadcast 192.168.8.255 ether 00:0c:29:61:7d:7a txqueuelen 1000 (Ethernet) lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1 (Local Loopback) …… 六、檢測虛擬網啊IP是否通暢 在Windows系統cmd下ping該IP便可!
[root@1 ~]# mii-tool ens33 ens33: negotiated 1000baseT-FD flow-control, link ok
查看:link ok說明網卡鏈接OK!
[root@1 ~]# ethtool ens33 Settings for ens33: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full …… Current message level: 0x00000007 (7) drv probe link Link detected: yes
查看:Link detected: yes說明網卡鏈接OK!
更改: [root@1 ~]# hostnamectl set-hostname 3 查看主機名: [root@3 ~]# hostname 3 注:更改後的主機名要在系統重啓以後纔會顯示! 主機名的配置文件: [root@3 ~]# cat /etc/hostname 3
[root@1 ~]# cat /etc/resolv.conf # Generated by NetworkManager nameserver 119.29.29.29
注: 更改網卡配置便可更改DNS配置文件,更改後須要重啓網卡(ifdown/ifup)後生效,也可編輯‘/etc/resolv.conf’臨時更改DNS配置,該辦法在重啓網卡後會被網卡配置文件中的DNS覆蓋!
[root@1 ~]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
說明: 使用vi命令可在該配置文件下能夠自定義IP所對應的域名(一個IP對應多個域名或一個域名對應多個IP,用空格隔開,當一個域名對應多個IP時,以配置文件中靠後面的配置爲準),可是該域名配置只在本機生效!
[root@1 ~]# setenforce 0
編輯配置文件‘/etc/selinux/config’
[root@1 ~]# vim /etc/selinux/config …… # disabled - No SELinux policy is loaded. SELINUX=disabled # SELINUXTYPE= can take one of three two values: …… # mls - Multi Level Security protection. SELINUXTYPE=targeted
將SELINUX=enforcing改成disabled保存,重啓系統便可!
[root@1 ~]# getenforce Disabled
Centos7中默認將原來(centos5/6)的防火牆netfileter升級爲了firewalld。iptables是它們實現防火牆功能的工具。
爲了方便學習,暫時停用firewalld,開啓centos6/5的防火牆機制netfilter。
一、關閉firewalld(禁止開機啓動) [root@1 ~]# systemctl disable firewalld Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service. Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service. 二、中止firewalld服務 [root@1 ~]# systemctl stop firewalld
開啓前先安裝iptables工具包: [root@1 ~]# yum install -y iptables-services 開啓iptables服務: [root@1 ~]# systemctl enable iptables Created symlink from /etc/systemd/system/basic.target.wants/iptables.service to /usr/lib/systemd/system/iptables.service. [root@1 ~]# systemctl start iptables
說明: 安裝完成後默認開啓iptables服務。
[root@1 ~]# iptables -nvL Chain INPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 7 536 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 0 0 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited Chain OUTPUT (policy ACCEPT 5 packets, 684 bytes) pkts bytes target prot opt in out source destination
filter的三種鏈:
nat的三種鏈:
環境:
假設有三臺機器(A,B,C),A機器上有一塊網卡鏈接公網IP1;B機器上有兩塊網卡b一、b2,b一、b2分別鏈接公網和私網IP2,、IP3;C機器上有一塊網卡鏈接私網IP4。很明顯此時A&B,B&C之間都分別能互通,可是A和C之間是不能直接連通的,只能藉助B作媒介才能連通。那麼如何設置才能使得A和C之間互通呢?
方法:
先打開路由轉發功能: [root@1 ~]# echo "1" > /proc/sys/net/ipv4_forward 而後對nat表作IP轉發配置: [root@1 ~]# iptables -t nat -A POSTROUTING -s IP2(此處IP在同一個網段便可) -o ensA(A機器的網卡名稱) -j MASQUERADE
說明: -o 選項後面跟設備名稱,表示出口網卡,MASQUERADE是假裝、冒充的意思。
iptables命令是Linux上經常使用的防火牆軟件,是netfilter項目的一部分。能夠直接配置,也能夠經過許多前端和圖形界面配置。
語法: iptables [options] [參數]
Options:
-n:不針對IP反解析主機名
-v:顯示更詳細的信息
-t:指定表(iptables命令默認做用於filter表)
-L:顯示信息
-F:清空全部規則
-A/D:=add/delete,添加/刪除一條規則
-I:插入一條規則
-p:指定協議,能夠是tcp,udp或icmp
--sport:跟-p一塊兒使用,指定源端口
--dport:跟-p一塊兒使用,指定目標端口
-s:指定源IP(能夠是一個IP段)
-d:指定目的IP(能夠是一個IP段)
-j:後面跟動做(ACCEPT表示容許包;DROP表示丟掉包;REJECT表示拒絕包)
-i:指定網卡
-Z:把包以及流量計數器清零
-P:=pre,預設策略
iptables -t 表名 <-A/I/D/R> 規則鏈名 [規則號] <-i/o 網卡名> -p 協議名 <-s 源IP/源子網> --sport 源端口 <-d 目標IP/目標子網> --dport 目標端口 -j 動做
[root@1 ~]# iptables -nvL
iptables規則配置文件:/etc/sysconfig/iptables
[root@1 ~]# iptables -F
注: 該命令不會清除配置文件內的規則!當更改規則後須要執行命令‘service iptables save’將其保存到配置文件。
[root@1 ~]# iptables -A INPUT -s 192.168.188.1 -p tcp --sport 1234 -d 192.168.188.128 --dport 80 -j DROP
說明: 增長一條規則,當IP~192.168.188.一、協議爲tcp、端口爲‘1234’的向IP~192.168.188.12八、端口爲80的機器發送包時執行操做:drop(丟掉包)。
注: 該命令也能夠把-A換成-I,二者的區別相似於排隊和插隊,兩種方法插入的規則優先級不一樣。
[root@1 ~]# iptables -D INPUT -s 192.168.188.1 -p tcp --sport 1234 -d 192.168.188.128 --dport 80 -j DROP
注: 要刪除一條規則時,必須和插入的規則一致,也就是說,兩條iptables命令除了-A/I和-D不同外,其餘地方都同樣。
方法2: 忘記規則內容
首先因此用如下命令查看規則序號:
[root@1 ~]# iptables -nvL --line-number
而後再執行刪除命令:
[root@1 ~]# iptables -D INPUT [序號]
執行命令:
# iptables -P OUTPUT DROP
結果:
注意: 儘可能不要隨意更改該配置,尤爲是在進行遠程登陸時,一旦執行該命令後將會斷開鏈接。這個策略設定後只能用命令:‘iptables -P OUTPUT ACCEPT’來恢復成原始狀態,不能使用-F參數。