zoukankan      html  css  js  c++  java
  • linux命令配置IP详解

    在Linux系统中,TCP/IP网络是通过若干个文本文件进行配置的,有时需要编辑这些文件来完成联网工作。
    vi /etc/sysconfig/network-scripts/ifcfg-eth0 :进入IP编译器 
    按 i 下面出现-- INSERT -- :写入模式 出现下列信息
    # Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
    DEVICE=eth0
    BOOTPROTO=static        // BOOTPROTO只有在static(静态)模式下才可以使用设置的IP信息
    HWADDR=00:0c:29:9e:43:e4
    ONBOOT=yes                     
    NETMASK=255.255.255.240        //掩码
    IPADDR=220.181.77.132           //添加IP地址
    GATEWAY=220.181.77.129        //添加网关
    TYPE=Ethernet
    按 冒号 : wq  保存退出
    修改dns
    vim /etc/resolv.conf
    重启网卡
    service network restart




    在此我们详细介绍如何使用命令行来手工配置TCP/IP网络。
      与网络相关的配置文件
      和网络相关的一些配置文件有/etc/HOSTNAME、/etc/resolv.conf、/etc/host.conf、/etc/sysconfig/network、/etc/hosts等文件。下面一一

    介绍。
      /etc/HOSTNAME文件
      该文件包含了系统的主机名称,包括完全的域名,例如www.linuxaid.com.cn。
      在Red Hat 7.2中,系统网络设备的配置文件保存在“/etc/sysconfig/network-scripts”目录下。ifcfg-eth0包含第一块网卡的配置信息,

    ifcfg-eht包含第二块网卡的配置信息。下面是“/etc/sysconfig/network-scripts/ifcfg-eth0”文件的示例:
      DEVICE=eth0
      IPADDR=208.164.186.1
      NETMASK=255.255.255.0
      NETWORK=208.164.186.0
      BROADCAST=208.164.186.255
      ONBOOT=yes
      BOOTPROTO=none
      USERCTL=no
      其中各变量关键词的解释如下:
      DEVICE=name name表示物理设备的名字
      IPADDR=addr addr表示赋给该卡的I P地址
      NETMASK=mask mask表示网络掩码
      NETWORK=addr addr表示网络地址
      BROADCE ST=addr addr表示广播地址
      ONBOOT=yes/no 启动时是否激活该卡
      BOOTPROTO=proto proto取值可以是none(无须启动协议)、bootp(使用bootp协议)、dhcp(使用DHCP协议)
      USERCTL=yes/no 是否允许非root用户控制该设备
      若希望手工修改网络地址或在新的接口上增加新的网络界面,可以通过修改对应文件(ifcfg-ethN)或创建新文件来实现。
      /etc/resolv.conf文件
      该文件是解析器(resolver,一个根据主机名解析IP地址的库)使用的配置文件,示例如下:
      search domainname.com
      nameserver 208.164.186.1
      nameserver 208.164.186.2
      search domainname.com表示当提供了一个不包括完全域名的主机名时,在该主机名后添加domainname.com的后缀;nameserver表示解析域名时

    使用该地址指定的主机为域名服务器。域名服务器是按照文件中出现的顺序来查询的。
      /etc/host.conf文件
      该文件指定如何解析主机名。Linux通过解析器库来获得主机名对应的IP地址。下面是一个“/etc /host. conf”的示例:
      order bind,hosts
      multi on
      nospoof on
      “order bind,hosts”指定主机名查询顺序。这里规定先使用DNS来解析域名,然后再查询“/etc/hosts”文件。
      “multi on”指定是否“/etc/hosts”文件中指定的主机可以有多个地址。拥有多个IP地址的主机一般具有多个网络界面。
      “nospoof on”指不允许对该服务器进行IP地址欺骗。IP欺骗是一种攻击系统安全的手段,指通过把IP地址伪装成别的计算机,来取得其他计

    算机的信任。
      /etc/sysconfig/network文件
      该文件用来指定服务器上的网络配置信息,下面是一个示例:
      NETWORK=yes
      RORWARD_IPV4=yes
      HOSTNAME=deep.openarch.com
      GATEWAY=0.0.0.0
      GATEWAYDEV=
      其中各变量的解释如下:
      NETWORK=yes/no 网络是否被配置
      FORWARD_IPV4=yes/no 是否开启IP转发功能
      HOSTNAME=hostname hostname表示服务器主机名
      GATEWAY=gw-ip gw-ip表示网络网关的IP地址
      GATEWAYDEV=gw-dev gw-dw表示网关的设备名,如etho等
      注意:为了和老的软件相兼容,“/etc/ HOSTNAME”文件应该用与HOSTNAME= hostname相同的主机名。
      /etc/hosts文件
      机器启动时,在查询DNS以前,机器需要查询一些主机名与IP地址的匹配。这些匹配信息存放在/etc/hosts文件中。在没有域名服务器情况下,

    系统上的所有网络程序都通过查询该文件来解析对应于某个主机名的IP地址。
      注意:tcpd程序是负责检测telnet、FTP等服务请求的。一旦有服务请求到来,inetd进程将启动tcpd进程。tcpd在日志文件中记录该请求,并

    且完成其它一些检测工作。如果一切正常通过,tcpd将启动相应的服务器进程,然后结束。tcpd要通过查询DNS服务器,先对该客户机的IP地址进行

    反向解析得到主机名,然后再解析得到该主机名对应的IP地址,接着把得到IP地址和发出请求的客户机器的IP地址进行比较。通过这些步骤来实现

    对发送请求客户机的验证。若两者不匹配,则tcpd认为发出请求的机器伪装成了其它的机器,并拒绝其请求。这就是为什么有时候telnet到Linux机

    器要等待那么长时间的原因。通过在“/etc /hosts”中加入客户机器的IP地址和主机名的匹配项,可以减少登录等待时间。
    tcpd可以设置成禁止源路径路由(source routing)socket的连接请求。这个设置可以避免黑客用把自己的IP地址伪装成别的计算机IP地址攻击服务

    器。请注意:这个设置对UDP无效。当服务器试图把请求服务的客户机的IP地址反向解析成主机名的时候,经常会出现超时(timeout)错误。其原因

    可能是DNS服务器没有配置好,或者DNS根本没有请求服务的客户端计算机的任何信息。
      配置TCP/IP网络
      ifconfig是用来设置和配置网卡的命令行工具。为了手工配置网络,需要熟悉这个命令。使用该命令的好处是无须重新启动机器。
      要赋给eth0接口IP地址208.164.186.2,使用命令:
      #ifconfig eth0 208.164.186.2 netmask 255.255.255.0
      要列出所有的网络接口,使用命令:
      # 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”参数的命令则显示所有接口的信息,包括没有激

    活的接口,例如:
      # 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.1配置默认网关,使用命令:
      # route add default gw 208.164.186.1
      在这个例子中,默认网关设置为208.164.186.1。然后,测试一下是否可以连通本网段的机器。从网络上随便选一台主机,比如:

    208.164.186.1测试一下。用下面的命令测试一下能否连通这台计算机:
      # ping 208.164.186.1
      输出会是这样的:
      PING 208.164.186.1 (208.164.186.1) from 208.164.186.2 : 56 data bytes
      64 bytes from208.164.186.2:icmp_seq=0 ttl=128time=1.0ms
      64 bytes from 208.164.186.2:icmp_seq=1ttl=128time=1.0ms
      64 bytes from 208.164.186.2:icmp_seq=2ttl=128time=1.0ms
      64 bytes from 208.164.186.2:icmp_seq=3ttl=128time=1.0ms
      --- 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命令输出路由表信息来查看。
      用下面的命令显示路由信息:
      # 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命令:
      # 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
      输出是这样的:
      Active Internet connections (w/o servers)
      Proto Recv-Q Send-Q Local Address Foreign Address State
      Tcp 0 0 deep.openar:netbios-ssn gate.openarch.com:1045 ESTABLISHED
      Tcp 0 0 localhost:1032 localhost:1033 ESTABLISHED
      Tcp 0 localhost:1033 localhost:1032 ESTABLISHED
      Tcp 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连接,使用命令:
      # netstat -vat
      输出是这样的:
      Active Internet connections (servers and established)
      Proto Recv-Q Send-Q Local Address Foreign Address State
      tcp 0 0 deep.openarch.co:domain *:* LISTEN
      tcp 0 0 localhost:domain *:* LISTEN
      tcp 0 0 deep.openarch.com:ssh gate.openarch.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.openarch.com:www *:* LISTEN
      tcp 0 0 deep.openarch.com:https *:* LISTEN
      tcp 0 0 *:389 *:* LISTEN
      tcp 0 0 *:ssh *:* LISTEN
      要使系统中所有网络接口停止工作,使用命令:
      # /etc/rc.d/init.d/network stop
      要启动系统中所有网络接口,使用命令:
      # /etc/rc.d/init.d/network start

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    flex + bison multiple parsers
    Educational Codeforces Round 95 (Rated for Div. 2)
    python学习笔记 day20 序列化模块(二)
    python学习笔记 day20 常用模块(六)
    python 学习笔记 常用模块(五)
    python学习笔记 day19 常用模块(四)
    python学习笔记 day19 常用模块(三)
    python学习笔记 day19 常用模块(二)
    python学习笔记 day19 作业讲解-使用正则表达式实现计算器
    python学习笔记 day19 常用模块
  • 原文地址:https://www.cnblogs.com/jamesf/p/4751675.html
Copyright © 2011-2022 走看看