*
Linux和UNIX系统一样,对TCP/IP协议有着良好的支持,并且支持最新的IPv6协议。对系统的配置可以通过命令来实现,也可以通过编辑配置文件实现。*
用Linux命令手工配置TCP/IP网络
IP相关
在Linux系统下可以有多种配置TCP/IP网络的方法,其中最常用的是通过命令手工配置和直接修改配置文件。
在/etc/sysconfig/network-scripts目录下存放着系统关于网络的配置文件,范例如下:ifcfg-eth0* ifdown-post* ifup-aliases* ifup-ppp*ifcfg-eth1* ifdown-ppp* ifup-ipx* ifup-routes*ifcfg-lo* ifdown-sl* ifup-plip* ifup-sl*ifdown@ ifup@ ifup-post* network-functions ifcfg-eth0是以太口eth0的配置信息。
使用命令#ifconfig -a 就可以看到所有的网络接口的界面: eth0 Link encap:Ethernet HWaddr 00:90:27:58:AF:1A inet addr:202.112.13.204 Bcast:202.112.13.255
Mask:255.255.255.192 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:435510 errors:0 dropped:0 overruns:0 frame:2 TX packets:538988 errors:0 dropped:0 overruns:0 carrier:0 collisions:318683 txqueuelen:100 Interrupt:10 Base a
ddress:0xc000
eth0:1 Link encap:Ethernet HWaddr 00:90:27:58:AF:1A inet addr:202.112.11.218 Bcast:202.112.11.255
Mask:255.255.255.192 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 Interrupt:10 Base address:0xc000
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:2055 errors:0 dropped:0 overruns:0
我们看到网络接口有三个,eth0 , eth0:1,lo。
eth0是真实的以太网络接口,eth0:1和eth0是同一块网卡,只不过绑定了另外的一个地址,lo是环回地址。
eth0和eth0:1可以使用不同网段的ip地址,这在同一个物理网段却使用不同的网络地址的时候十分有用。
停用某一个接口:ifdown 接口名
启用某一个接口:ifup 接口名
Route工具有复杂的调用参数
route [-v] [-A family] add [-net|-host] target
[netmaskNm] [gw Gw] [metric N] [mss M] [window W] [irtt I][reject] [mod] [dyn] [reinstate] [[dev] If]
主要参数说明如下:
- -v 使用冗余输出模式。
- -A family 指定特定的地址族(例如“inet”、“inet6”)。
- -n 使用数字显示的地址(例如,202.38.75.75)而不是去解释域名。
- -e 使用与netstat相同的输出格式。
- -ee 参数会产生很长的输出,包括内核路由表的几乎所有信息。
- -net 目标(target)是一个网段。
- -host 目标(target)是一个单独的主系。
- -C 显示内核中路由缓存信息。
常用命令如下
- del 删除一个路由表项 。
- add 增加一个路由表项 target 配置的目的网段或者主机。可以是IP,或者是网络或主机名。
- gw Gw 任何通往目的(target )的IP分组都要通过这个网关 。
- metric M 设置路由表中该项的度量值(metric field)为M 。
- mss M 设置TCP的最大分片长度(MSS)M bytes。系统缺省值是536。
- window W设置TCP发送窗口的尺寸为W bytes。
- irtt I 设置TCP的初始化回路时间(irtt)I毫秒(1-12000)。缺省情况下按照RFC 1122 规定是300ms。
- reject 安装一个阻塞型的路由,这样可能会有路由查找失败。
- mod, dyn, reinstate 添加或者修改一个动态路由表项。主要用来测试和诊断。
- dev If 强行使用某个特定的输出接口(If),而不用系统去寻找接口。
路由相关
route add -net 192.56.76.0 netmask 255.255.255.0 dev eth0
添加一条路由表项,网段192.56.76.x 应该从接口“eth0”走route add default gw mango-gw 添加一条缺省路由(如果没有其他匹配的路由项,就使用这个路由规则)。
“mango-gw”是一个主机名, 而通往这个主机的路由规则应该事先已经设置好了。
route add ipx4 sl0给主机”ipx4”添加一条路由规则,使用SLIP接口sl0。P接口sl0。
添加到主机的路由
route add –host 192.168.1.2 dev eth0:0
route add –host 10.20.30.148 gw 10.20.30.400
添加到网络的路由route add -net 10.20.30.40 netmask 255.255.255.248 dev eth0
route add -net 10.20.30.48 netmask 255.255.255.248 gw 10.20.30.41
route add -net 10.20.30.40 netmask 255.255.255.248 dev eth0
route add -net 10.20.30.48 netmask 255.255.255.248 gw 10.20.30.41
route del –host 192.168.1.2 dev eth0:0
删除路由
oute del –host 10.20.30.148 gw 10.20.30.40
route del -net 10.20.30.40 netmask 255.255.255.248 dev eth0
route del -net 10.20.30.48 netmask 255.255.255.248 gw 10.20.30.41
route del –net 192.168.1.0/24 dev eth1route del default gw 192.168.1.1
如何察看系统开放的端口
netstat -lnp来察看系统当前监听的端口。
其中l选项表示显示正在被监听(listen)的端口;
n选项表示直接显示端口数字而不是通过察看/etc/services来转换为端口名;
p选项表示列出监听的程序。
ping ipp地址
ping -c count ip地址
ping -b ip广播地址播地址
同样可以采用菜单方式在字符模式下配置网络接口
netconfig
或 setup
或redhat-config-network