Windows网口命令
ipconfig /all
Vmware网卡设置
(1)Bridged方式
用这种方式,虚拟系统的IP可设置成与本机系统在同一网段,虚拟系统相当于网络内的一台.独立的机器,与本机共同插在一个Hub上,网络内其他机器可访问虚拟系统,虚拟系统也可访问网络内其他机器,当然与本机系统的双向访问也不成问题.
(2)NAT方式
这种方式也可以实现本机系统与虚拟系统的双向访问.但网络内其他机器不能访问虚拟系统,虚拟系统可通过本机系统用NAT协议访问网络内其他机器.NAT方式 的IP地址配置方法:虚拟系统先用DHCP自动获得IP地址,本机系统里的VMwareservices会为虚拟系统分配一个IP,之后如果想每次启动都用固定IP的话,在虚拟系统里直接设定这个IP即可.
(3)host-only方式
顾名思义这种方式只能进行虚拟机和主机之间的网络通信,既网络内其他机器不能访问虚拟系统,虚拟系统也不能访问其他机器.
(4)not use方式
既是不使用网络,虚拟系统为一个单机.
一般来说,Bridged方式最方便好用.但如果本机系统是win2000而网线没插(或者根本没有网卡),网络很可能不可用(大部分用PCI网卡的机器都如此),此时就只能用NAT方式或host-only,之前所说的那两块虚拟网卡就是适应这两种网络准备的.
1.在vmware中,Edit->Virtual networksettings->Host Virtual Network Mapping分别设置VMnet2、VMnet3为Windows机器上的两个网卡。注意,最好别设置VMnet0,这个用于Automatic Bridging。设置好之后,打开windows中网络连接属性,分别查看两个网卡的VMware Bridge Protocol,可以看到对应的编号为2、3。
2.停止虚拟机,在Virtual Machine Settings中设置双网卡:假设已经有一个网卡,点击Add添加一个网卡,Network connection选择Custom,下拉框中选择对应的Vmnet。保证两个网卡都与对应的VMnet关联。
3.启动虚拟机,Linux会在启动中检测新硬件,提供设置界面,按F12进入下一步,设置好新的网卡ip地址。(RedHat Linux)
4.测试:Linux下,ifconfig,eth0 echo1的配置可以看到;在windows下可以ping 通linux中设置的地址。
Linux 網路相關設定檔案
我們知道 TCP/IP 的重要參數主要是: IP, Netmask, Gateway, DNSIP ,而且千萬不要忘記你這部主機也應該要有主機名稱 (hostname)!此外,我們也知道 IP 的取得有手動設定、DHCP 處理等。那麼這些參數主要是寫在哪些設定檔?如何對應呢?底下就讓我們來處理一番!
所需網路參數 |
主要設定檔檔名 |
重要參數 |
IP |
/etc/sysconfig/network-scripts/ifcfg-eth0 |
DEVICE=網卡的代號 |
主機名稱 |
/etc/sysconfig/network |
NETWORKING=要不要有網路 |
DNS IP |
/etc/resolv.conf |
nameserver DNS的IP |
私有 IP 對應 |
/etc/hosts |
私有IP 主機名稱 別名 |
你沒有看錯,主要需要修改的就是這四個檔案而已!因此沒有很困難!大家都想太多了!詳細的設定後續小節再來講,這裡先有概念即可。除此之外,還有些檔案或許你也應該要知道一下比較好呦!
- /etc/services
這個檔案則是記錄架構在 TCP/IP 上面的總總協定,包括 http, ftp, ssh, telnet 等等服務所定義的 port number ,都是這個檔案所規劃出來的。如果你想要自訂一個新的協定與 port 的對應,就得要改這個檔案了; - /etc/protocols
這個檔案則是在定義出 IP 封包協定的相關資料,包括 ICMP/TCP/UDP 這方面的封包協定的定義等。
大概知道上面這幾個檔案後,未來要修改網路參數時,那就太簡單了!至於網路方面的啟動指令的話,可以記得幾個簡單的指令即可喔!
- /etc/init.d/network restart
這個 script 最重要!因為可以一口氣重新啟動整個網路的參數! 他會主動的去讀取所有的網路設定檔,所以可以很快的恢復系統預設的參數值。 - ifup eth0 (ifdown eth0)
啟動或者是關閉某張網路介面。可以透過這個簡單的 script 來處理喔! 這兩個 script 會主動到 /etc/sysconfig/network-scripts/ 目錄下, 讀取適當的設定檔來處理啊! (例如 ifcfg-eth0)。
大概你只要只到這些基本的指令與檔案,哈哈!網路參數的設定就太簡單啦!不過,最好你還是要瞭解 shell script ,比較好!因為可以追蹤整個網路的設定條件。 why ?這是因為每個 distributions 的設定資料可能都不太相同,不過卻都以 /etc/init.d/network 作為啟動的 script , 因此,你只要瞭解到該檔案的內容,很容易就追蹤得出來你的設定檔所需要的內容呢!對吧!
[root@www ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0" <==網路卡代號,必須要 ifcfg-eth0 相對應
HWADDR="08:00:27:71:85:BD" <==就是網路卡位址,若只有一張網卡,可省略此項目
NM_CONTROLLED="no" <==不要受到其他軟體的網路管理!
ONBOOT="yes" <==是否預設啟動此介面的意思
BOOTPROTO=none <==取得IP的方式,其實關鍵字只有dhcp,手動可輸入none
IPADDR="192.168.1.100" <==就是 IP 啊
NETMASK="255.255.255.0" <==就是子網路遮罩
GATEWAY="192.168.1.254" <==就是預設路由
# 重點是上面這幾個設定項目,底下的則可以省略的囉!
NETWORK=192.168.1.0 <==就是該網段的第一個 IP,可省略
BROADCAST=192.168.1.255 <==就是廣播位址囉,可省略
MTU=1500 <==就是最大傳輸單元的設定值,若不更改則可省略
主機名稱的修改、啟動與觀察
修改主機名稱就得要改 /etc/sysconfig/network 以及 /etc/hosts 這兩個檔案,這兩個檔案的內容又簡單的要命喔!
[root@www ~]# vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=www.centos.vbird
[root@www ~]# vim /etc/hosts
192.168.1.100 www.centos.vbird
# 特別注意,這個檔案的原本內容不要刪除!只要新增額外的資料即可!
修改完畢之後要順利啟動的話,得要重新開機才可以。為什麼需要重新開機呢?因為系統已經有非常多的服務啟動了,這些服務如果需要主機名稱,都是到這個檔案去讀取的。而我們知道設定檔更新過後,服務都得要重新啟動才行。 因此,已經啟動而且有讀到這個檔案的服務,就得要重新啟動啊!真麻煩~因此,最簡單的方法,就是重新開機。但重開機之前還需要進行一項工作,否則,你的系統開機會花掉很多時間喔!
[root@www ~]# hostname
localhost.localdomain
# 還是預設值,尚未更新成功!我們還得要進行底下的動作!
# 檢查五:看看你的主機名稱有沒有對應的 IP 呢?沒有的話,開機流程會很慢!
[root@www ~]# ping -c 2 www.centos.vbird
PING www.centos.vbird (192.168.1.100) 56(84) bytes of data.
64 bytes from www.centos.vbird (192.168.1.100): icmp_seq=1 ttl=64time=0.015 ms
64 bytes from www.centos.vbird (192.168.1.100): icmp_seq=2 ttl=64time=0.028 ms
--- www.centos.vbird ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 0.015/0.021/0.028/0.008 ms
# 因為我們有設定 /etc/hosts 規定www.centos.vbird 的 IP ,
# 所以才找的到主機主機名稱對應的正確 IP!這時才能夠 reboot喔!重要重要!
上面的資訊中,檢查的內容總共有五個步驟,這五個步驟每一步都要成功後才能夠繼續往下處理喔!至於最重要的一點,當你修改過 /etc/sysconfig/network 裡面的 HOSTNAME 後, 務必要重新開機 (reboot)。但是重新開機之前,請務必『 ping 主機名稱』且得到 time 的回應才行!
重新啟動網路介面,這樣才能更新整個網路參數
[root@www ~]# /etc/init.d/network restart
打開核心的封包轉遞 (IP forward)功能
觀察核心功能的顯示檔案
[root@www ~]# cat /proc/sys/net/ipv4/ip_forward
0 <== 0 代表沒有啟動, 1 代表啟動了
要讓該檔案的內容變成啟動值 1 最簡單的方是就是使用:
[root@www ~]# echo 1 > /proc/sys/net/ipv4/ip_forward
不過,這個設定結果在下次重新開機後就會失效。因此,鳥哥建議您直接修改系統設定檔的內容,那就是 /etc/sysctl.conf 來達成開機啟動封包轉遞的功能喔。
[root@www ~]# vim /etc/sysctl.conf
# 將底下這個設定值修改正確即可! (本來值為 0 ,將它改為 1 即可)
net.ipv4.ip_forward = 1
[root@www ~]# /sbin/sysctl -p <==立刻讓該設定生效
關閉防火牆
[root@www ~]# /etc/init.d/iptables stop