網絡配置
主機名
Windows:
netbios 網絡基本輸入輸出系統
將計算機名解析成IP地址
Wins服務 windows網絡名稱服務
Windows遠程管理工具:
tightvnc-->windows/linux
rdesktop—>linux管理windows
格式:rdesktop –f –u username –p passwd
-f 全屏顯示
-u 指定用戶名
-p 指定密碼
linux的遠程桌面連接工具
VNC的默認端口是5900,而遠程桌面連接端口則是5900+n(n是vncserver命令指定的)。如果使用"vncserver :1"命令啟動VNC Server,那麼下面的端口應該是5901。
#yum –y install tigervnc tigervnc-server
#vim /etc/sysconfig/vncserver
VNCSERVERS="2:wdd"
VNCSERVERARGS[2]="-geometry 800x600 -localhost"
#vim /root/.vnc/xstartup
gnome-session& #添加這一句是連接時使用gnome 桌面環境,可以將原來的twm &刪掉或者放在後面
#vncpasswd 創建VNC密碼
#vncserver [:n] 啟動服務
Linux客戶端訪問:
做實驗時記得關閉防火牆和SELINUX,生產環境要設置防火牆規則
#vncviewer -via
[email protected] localhost:2
輸入用戶名和密碼即可進入
#VNC 是明文的,不安全的.連接過程可能會被竊聽,干擾.可以使用SSH通道加密,然後再由遠程主機的回環地址通信,加大了安全性
如果要使用windows版的vnc客戶端,那麼最好把-localhost去掉
Windows客戶端訪問:
網卡參數:/ect/sysconfig/network-scripts/ifcfg-eth0
網關,泛指,去任意網絡都要使用的網絡出口
路由記錄,有特定目標時,使用的網絡接口
DNS:網卡配置的DNS選項會自動添加到/etc/resolves.conf
icmp:互聯網控制報文協議
臨時生效
使用命令調整網絡參數,簡單、快速,可直接修改運行中的網絡參數,一般只適合在調試網絡的過程中使用,系統重啟之後,所做的修改都會失效。
修改主機名
查看主機名:hostname
設置主機名:hostname 主機名稱
[root@myweb ~]# hostname www.baidu.com
注意:主機名盡量使用FQDN(完全合格域名)名稱
修改網卡配置
查看IP地址:ifconfig
修改網刊參數:
格式:ifconfig 接口名 IP地址 [netmask 子網掩碼]
[root@myweb ~]# ifconfig eth0 192.168.137.128 netmask 255.255.255.0
ifconfig 網絡接口 IP地址[/掩碼長度]
[root@myweb ~]# ifconfig eth0 192.168.137.128/24
網關設置
刪除路由表中的默認網關記錄:
格式:route del default gw IP地址
[root@mylinux ~]# route del default gw 192.168.137.4
向路由表中添加默認網關記錄:
格式:route add default gw IP地址
[root@mylinux ~]# route add default gw 192.168.137.4
添加到指定網段的路由記錄:
格式:route add –net 網段地址 gw IP地址
[root@mylinux ~]# route add -net 192.168.216.0/24 gw 192.168.137.4
刪除到指定網段的路由記錄:
格式:route del –net 網段地址
[root@mylinux ~]# route del -net 192.168.216.0/24 gw 192.168.137.4
永久有效
通過配置文件修改網絡參數,修改各項網絡參數的配置文件,適合對服務器你設置固定參數時使用需要重載網絡服務或者重啟以後才會生效。
2.1、修改主機名
修改/etc/sysconfig/network文件
設置主機名:
方法:HOSTNAME=主機名
2.2、修改/etc/sysconfig/network-scripts/ifcfg-eth0文件
修改網卡參數:
方法:DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static/dhcp
IPADDR=IP地址
NETMASK=子網掩碼
DNS1=xxx.xxx.xxx.xxx 指定DNS地址
DNS2=xxx.xxx.xxx.xxx
重啟網絡服務:service network restart
或者重啟網卡:ifdown eth0;ifup eth0
2.3、網關設置
修改/etc/sysconfig/network-scripts/ifcfg-eth0文件
方法:GATEWAY=xxx.xxx.xxx.xxx
查看或設置主機中路由表信息
格式:route [-n]
域名配置
修改/etc/resolv.conf文件:
用途:保存本機需要使用的DNS服務器的IP地址
方法:search lampbrother.net
nameserver 202.106.0.20
nameserver 8.8.8.8
nsloookup命令
測試域名解析
安裝nslookup
[root@myweb ~]# yum -y install bind-utils
格式:nslookup 目標主機地址 [DNS服務器地址]
有兩種模式:交互模式和非交互模式
在交互模式下,用server IP 指定DNS
主機映射文件
/etc/hosts文件
用途:保存主機名與IP地址的映射記錄
方法:
IP地址 域名 別名
127.0.0.1 localhost.localdomain localhost
Hosts文件和DNS服務器的比較:
默認情況下,系統首先從hosts文件查找解析記錄,hosts文件只對當前主機有效,hosts文件可減少DNS查詢過程,從而加快訪問速度
測試命令
7.1、netstat命令
查看系統的網絡連接狀態、路由表。接口統計等信息
格式:netstat [選項]
常用選項:
-a:顯示所有活動連接
-n:以數字形式顯示
-p:顯示進程信息
-t:查看TCP協議相關信息
-u:查看UDP協議相關信息
7.2、traceroute命令
測試從當前主機到目的主機之間經過的網絡節點
格式:traceroute 目標主機地址
7.3、ping命令
測試網絡連接狀態
ping –c 4 –w 3 –i 0.1 目標地址
選項:-w waittime:設置等待的響應時間對於每一次探測
-i 0.1(秒數):每次ping的間隔時間
-c 次數:ping的次數
7.4、arp命令
地址解析協議,將ip地址解析成mac地址
#arp –a 查詢arp緩存表
#arp –s src dest 綁定IP地址和mac地址
#arp –d 刪除
#arpspoof –i eth0 –t src dest 監聽
rarp
反向地址解析協議,將mac轉成ip地址
7.5、nmap命令
網絡探測掃描命令
nmap –[sLpV] 主機地址(可以是單個或者連續)–exclude 排除的IP地址
選項:
-s:掃描(scan)
-L:掃描的主機列表
-T:TCP
-V:掃描出軟件版本號
-p 端口號:掃描的端口號
-exclude Ip地址:排除IP地址
遠程管理
1、SSH協議
為客戶機提供安全的shell環境,用於遠程管理,默認端口:TCP 22
OpenSSH
服務名稱:sshd
服務端主程序:/usr/sbin/sshd
客戶端主程序:/usr/bin/ssh
服務器配置文件:/etc/ssh/sshd_config
客戶端配置文件:/etc/ssh/ssh_config
2、遠程身份認證
登陸驗證方式:
密碼驗證:核對用戶名、密碼是否匹配
秘鑰對驗證:核對客戶的私鑰、服務器公鑰是否匹配
[root@myweb ~]# vim /etc/ssh/sshd_config
PasswordAuthentication yes #默認密碼驗證是開啟的
#PubkeyAuthentication yes #啟用秘鑰驗證
#AuthorizedKeysFile .ssh/authorized_keys #秘鑰對驗證,公鑰保存位置
3、功能模塊
ssh命令—遠程安全登錄
格式:ssh –p 端口號 user@host
ssh –p 端口號 –l user host
scp命令—遠程安全復制
格式1:scp –P 端口號 user@host:file1 file2
格式2:scp –P 端口號 file1 user@host:file2
sftp命令—安全FTP上下載
格式:sftp -oPort=端口 user@host
[root@mylinux ~]# sftp -oPort=2200
[email protected]
4、秘鑰對驗證
第一步:創建秘鑰對(由客戶端用戶在本地創建秘鑰對)
[root@myweb ~]# ssh-keygen -t rsa [-f id_rsa -N '']
-t dsa/ras 指定加密算法
-f 文件名 指定秘鑰文件名
-N '' 自動創建不用手工按enter鍵
第二步:上傳公鑰文件id_rsa.pub
[client@myweb .ssh]$ scp id_rsa.pub
[email protected]:/tmp
或者[client@myweb .ssh]$ ssh-copy-id -i id_rsa.pub
[email protected]
#如果使用上面那條命令,那麼可以省略下面第三步
第三步:導入公鑰信息,公鑰庫文件:~/.ssh/authorized_keys
[root@mylinux tmp]# mkdir /home/server/.ssh
[root@mylinux tmp]# cat id_rsa.pub >> /home/server/.ssh/authorized_keys
第四步:使用秘鑰對驗證方式
[client@myweb .ssh]$ ssh -l server 192.168.137.129
或者[client@myweb .ssh]$ ssh
[email protected]
TCP Wrappers概述
1、保護機制的實現方式,通過tcpd之程序對其他服務程序進行包裝
2、訪問控制策略的配置文件
/etc/hosts.allow
/etc/hosts.deny
3、設置訪問控制策略
策略格式:服務列表:客戶機地址列表
服務列表:
多個服務以逗號分隔,ALL表示所有服務
客戶機地址列表:
多個地址以逗號分隔,ALL表示所有地址
允許使用通配符?和*
網段地址,如192.168.4. 或者192.168.4.0/255.255.255.0
區域地址,.baidu.com
注意:通配符(?*)不能和.開頭和.結尾的格式混用,如:sshd:192.16?.1.是錯的;sshd:.xd?.com也是錯的
[root@localhost ~]# vim /etc/hosts.deny
sshd:192.168.137.130
[sshd:192.168.137.0/255.255.255.0]
4、策略的應用順序
先檢查hosts.allow,找到匹配則允許訪問,否則再檢查hosts.deny,找到則拒絕訪問,若兩個文件中均無匹配策略,則默認允許訪問
案例:局域網arp欺騙
1、由於局域網的網絡流通不是根據IP地址進行,而是根據MAC地址進行傳輸。本來主機A本來是訪問主機C,但是主機B用黑客軟件在監聽者主機A和主機C,如果主機A向主機C發送請求,主機B會截獲請求,偽裝成主機C的MAC地址,這時主機A到主機C的請求會經過主機B轉發到主機C。那麼主機B不讓你轉發呢?那麼你就無法上網了,這就是簡單的局域網ARP欺騙。
實驗機主機A、主機B、主機C均為最小化安裝,防火牆和SELINUX均被關閉,其IP地址分別為:192.168.20.2、192.168.20.3、192.168.20.4
主機A原來可以訪問主機C上的web
#traceroute 192.168.20.4 只需一跳
#curl http://192.168.20.4 訪問主機C的web成功
主機B的操作如下:
#yum –y install libpcap
#最小化安裝沒有安裝這個庫,沒有這個庫下面軟件無法安裝
安裝如圖所示安裝包:
#rpm –ivh *.rpm
#vim /etc/sysctl.conf
Net.ipv4.ip_forward=1 #打開轉發功能
#arpspoof –i eth0 –t 192.168.20.2 192.168.20.4
選項說明:-i:指定轉發的網卡設備
-t src dest:監聽src到dest
這個時候主機A是可以訪問主機B的,只是經過了主機B轉發而已,如果這時,在主機A用traceroute主機C會發現確實經過了主機B的轉發,同時用命令arp –a查看發現,主機B和主機C的MAC地址相同,問題來了,如果這時主機B通過設置防火牆規則拒絕主機A的訪問(iptables –A FORWARD –s 192.168.20.2 –j drop),這時主機A是無法訪問主機C的,這就是所謂的ARP欺騙。
主機C
#yum –y install httpd
2、防止ARP欺騙
如果發現自己ARP攻擊了,這時,主機A必須綁定主機C的IP地址,前提是你知道主機C的IP地址。如果在沒有收到ARP攻擊之前,那麼通過ping主機C可以得到其IP地址,即通過命令arp –a可以查看。所以自己為了防止ARP欺騙,必須綁定主機C的mac地址,操作如下:
在主機C上查看其MAC地址
#ifconfig
在主機A上,綁定主機C的MAC地址:
這時,在訪問主機C就可以正常訪問了
案例:SSH隧道
什麼是SSH隧道:
首先看下面這張圖,我們所面臨的大部分情況都和它類似。我們的電腦在右上角,通過公司帶有防火牆功能的路由器接入互聯網(當然可能還有交換機什麼的在中間連接著你和路由器,但是在我們的問題中交換機並不起到什麼關鍵性的作用)。左下角的部分是一個網站的服務器,它是我們公司防火牆策略的一部分,也 就是說公司不希望我們訪問這個服務器。在左上角還有一台機器,它也是屬於我們的。但是這台機器並不在我們公司裡面,換句話說他不受到公司防火牆的限制。最後也是最重要的一點是,我們能夠在公司通過互聯網直接訪問這台機器。或者說這台位於公司防火牆外面的機器需要擁有一個獨立的互聯網IP,同時公司的防火牆規則不會屏蔽這台機器,並且這台機器運行著一個OpenSSH服務器。
試驗條件:主機A,主機B、主機C、主機D,其IP地址分別為:192.168.1.1、192.168.1.2和200.200.200.2(雙網卡)、200.200.200.200、200.200.200.1,均關閉防火牆和SELINUX
試驗准備:主機A與主機B的eth0在同一個網段,主機B的eth1與主機D在同一個網段,主機C和主機D在同一個網段,即主機A可以與主機B通信,但是無法訪問主機C;主機B可以和主機C通信;主機C可以和主機D通信
主機C作為網站服務器:
#yum –y install httpd
主機A是無法訪問主機C的
步驟如下:
1、主機A:
#route add default gw 192.168.1.2 #設置網關
2、主機C:
#route add default gw 200.200.200.2 #設置網關
3、主機B:
#vim /etc/sysctl.conf
net.ipv4.ip_forward=1 #打開網絡轉發功能
#ssh –N –f -L 8080:200.200.200.200:80 200.200.200.1
-N 表示ssh鏈接不是要登陸而是作端口轉發
-f 表示命令扔到後台運行
-L 指定轉發策略
8080:200.200.200.200:80 200.200.200.1 表示本地打開8080端口,那麼就通過200.200.200.1訪問200.200.200.200:80
此時在主機A中輸入如下命令:
#curl http://localhost:8080 可以訪問主機C了