9.8. 手动配置 TCP/IP 网络 - 命令行

ifconfig 实用程序是用于设置和配置网卡的工具。 您应该理解此命令,以便在需要手动配置网络时使用。 使用 ifconfig 配置网络设备时,需要注意的一个重要事项是:这些设置在重新启动后不会保留。 要分配eth0接口的 IP 地址208.164.186.2请使用命令
         [root@deep] /#ifconfig eth0 208.164.186.2 netmask 255.255.255.0
         

Tip: 通常,实践中手动配置或更改 TCP/IP 网络仅用于在服务器上进行一些测试。 如果您想保留您的 TCP/IP 值,最好将它们设置在与网络功能相关的文件中。

要显示服务器上所有接口,请使用命令
         [root@deep] /#ifconfig
         
输出应该类似于这样
           
         eth0	Link encap:Ethernet  HWaddr 00:E0:18:90:1B:56  
         inet addr:208.164.186.2  Bcast:208.164.186.255  Mask:255.255.255.0
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:1295 errors:0 dropped:0 overruns:0 frame:0
         TX packets:1163 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:100 
         Interrupt:11 Base address:0xa800 

         lo	Link encap:Local Loopback  
         inet addr:127.0.0.1  Mask:255.0.0.0
         UP LOOPBACK RUNNING  MTU:3924  Metric:1
         RX packets:139 errors:0 dropped:0 overruns:0 frame:0
         TX packets:139 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:0 
         
         
如果调用 ifconfig 工具时没有任何参数,它将显示您配置的所有接口。 -a 选项也会显示非活动接口。

要显示所有接口以及您可能拥有的非活动接口,请使用命令
         [root@deep] /#ifconfig -a
         
输出应该类似于这样
         
         
         eth0	Link encap:Ethernet  HWaddr 00:E0:18:90:1B:56  
         inet addr:208.164.186.2  Bcast:208.164.186.255  Mask:255.255.255.0
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:1295 errors:0 dropped:0 overruns:0 frame:0
         TX packets:1163 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:100 
         Interrupt:11 Base address:0xa800 

         eth1	Link encap:Ethernet  HWaddr 00:E0:18:90:1B:56  
         inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:1295 errors:0 dropped:0 overruns:0 frame:0
         TX packets:1163 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:100 
         Interrupt:5 Base address:0xa320

         lo	Link encap:Local Loopback  
         inet addr:127.0.0.1  Mask:255.0.0.0
         UP LOOPBACK RUNNING  MTU:3924  Metric:1
         RX packets:139 errors:0 dropped:0 overruns:0 frame:0
         TX packets:139 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:0
         
         
重要的是要注意,使用 ifconfig 工具为您的网络设备配置的设置在重新启动后不会保留。

要分配默认网关给208.164.186.12请使用命令
         [root@deep] /#route add default gw 208.164.186.1
         
在本例中,默认路由设置为指向208.164.186.12,您的路由器。 再次强调,如果您想保留您的默认网关值,最好将其设置在与网络功能相关的文件中 -/etc/sysconfig/network.

验证您是否可以访问您的主机。 例如,从您的网络中选择一个主机208.164.186.1. 请使用命令
         [root@deep] /#ping 208.164.186.1
         
输出应该类似于这样

         [root@deep networking]# ping 208.164.186.1
         PING 208.164.186.1 (208.164.186.1) from 208.164.186.2 : 56 data bytes
         64 bytes from 208.164.186.2: icmp_seq=0 ttl=128 time=1.0 ms
         64 bytes from 208.164.186.2: icmp_seq=1 ttl=128 time=1.0 ms
         64 bytes from 208.164.186.2: icmp_seq=2 ttl=128 time=1.0 ms
         64 bytes from 208.164.186.2: icmp_seq=3 ttl=128 time=1.0 ms

         --- 208.164.186.1 ping statistics ---
         4 packets transmitted, 4 packets received, 0% packet loss
         round-trip min/avg/max = 1.0/1.0/1.0 ms
         
         

您现在应该使用 route 命令显示路由信息,以查看两个主机是否都具有正确的路由条目。 请使用命令
         [root@deep] /#route -n
         
输出应该类似于这样

         Kernel         IP                      routing table
         Destination	Gateway	Genmask	Flags	Metric	Ref 	Use	Iface
         208.164.186.2	0.0.0.0	255.255.255.255	UH	0	0	0	eth0
         208.164.186.0	208.164.186.2	255.255.255.0	UG	0	0	0	eth0
         208.164.186.0	0.0.0.0	255.255.255.0	U	0	0	0	eth0
         127.0.0.0	0.0.0.0	255.0.0.0	U	0	0	0	lo
         
         

要快速检查接口的状态,请使用 netstat -i 命令,如下所示
         [root@deep] /#netstat -i
         
输出应该类似于这样

         Kernel Interface table
         Iface	MTU	Met	RX-OK	RX-ERR	RX-DRP	RX-OVR	TX-OK	TX-ERR	TX-DRP	TX-OVR Flg
         eth0	1500	0	4236	0	0	0	3700	0	0	0	BRU	
         lo	3924	0	13300	0	0	0	13300	0	0	0	LRU
         ppp0	1500	0	14	1	0	0	16	0	0	0	PRU
         
         

另一个有用的 netstat 选项是-t,它显示所有活动的 TCP 连接。 以下是 netstat -t 的典型结果
         [root@deep] /#netstat -t
         
输出应该类似于这样

         Active Internet connections (w/o servers)
         Proto	Recv-Q	Send-Q	Local Address	Foreign Address	State      
         Tcp	0	0	deep.openar:netbios-ssn	gate.openna.com:1045	ESTABLISHED 
         Tcp	0	0	localhost:1032	localhost:1033	ESTABLISHED 
         Tcp	0	0	localhost:1033	localhost:1032	ESTABLISHED 
         Tcp	0	0	localhost:1030	localhost:1034	ESTABLISHED 
         Tcp	0	0	localhost:1031	localhost:1030	ESTABLISHED 
         Tcp	0	0	localhost:1028	localhost:1029	ESTABLISHED 
         Tcp	0	0	localhost:1029	localhost:1028	ESTABLISHED 
         Tcp	0	0	localhost:1026	localhost:1027	ESTABLISHED 
         Tcp	0	0	localhost:1027	localhost:1026	ESTABLISHED 
         Tcp	0	0	localhost:1024	localhost:1025	ESTABLISHED 
         Tcp	0	0	localhost:1025	localhost:1024	ESTABLISHED 
         
         

要显示所有活动和监听 TCP 连接,请使用命令
         [root@deep] /#netstat -vat
         
输出应该类似于这样

         Active Internet connections (servers and established)
         Proto Recv-Q Send-Q Local Address           	        Foreign Address                 State      
         tcp        0      0 deep.openna.co:domain 	        *:*                     	LISTEN      
         tcp        0      0 localhost:domain       	        *:*                    	        LISTEN      
         tcp        0      0 deep.openna.com:ssh   	        gate.openna.com:1682  	        ESTABLISHED 
         tcp        0      0 *:webcache              		*:*                     	LISTEN      
         tcp        0      0 deep.openar:netbios-ssn	        *:*                     	LISTEN      
         tcp        0      0 localhost:netbios-ssn  		*:*                     	LISTEN      
         tcp        0      0 localhost:1032          		localhost:1033          	ESTABLISHED 
         tcp        0      0 localhost:1033          		localhost:1032          	ESTABLISHED 
         tcp        0      0 localhost:1030          		localhost:1031          	ESTABLISHED 
         tcp        0      0 localhost:1031          		localhost:1030          	ESTABLISHED 
         tcp        0      0 localhost:1028          		localhost:1029          	ESTABLISHED 
         tcp        0      0 localhost:1029         		localhost:1028          	ESTABLISHED 
         tcp        0      0 localhost:1026          		localhost:1027          	ESTABLISHED 
         tcp        0      0 localhost:1027          		localhost:1026          	ESTABLISHED 
         tcp        0      0 localhost:1024          		localhost:1025          	ESTABLISHED 
         tcp        0      0 localhost:1025          		localhost:1024          	ESTABLISHED 
         tcp        0      0 deep.openna.com:www   	        *:*                    		LISTEN      
         tcp        0      0 deep.openna.com:https 	        *:*                    		LISTEN      
         tcp        0      0 *:389            	       		*:*                     	LISTEN      
         tcp        0      0 *:ssh       	            	*:*              		LISTEN      
         

要在您的系统上手动停止所有网络设备,请使用以下命令
         [root@deep] /# /etc/rc.d/init.d/network stop
         

         Shutting down interface eth0	         [  OK  ]
         Disabling IPv4 packet forwarding	 [  OK  ]
         

要在您的系统上手动启动所有网络设备,请使用以下命令
         [root@deep] /# /etc/rc.d/init.d/network start

         

         Enabling IPv4 packet forwarding	  [  OK  ]
         Bringing up interface lo		  [  OK  ]
         Bringing up interface eth0	          [  OK  ]