文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>LINUX: 网络相关命令解析和技巧整理

LINUX: 网络相关命令解析和技巧整理

时间:2006-06-11  来源:mophis

LINUX 下有很多与网络相关的程序, 也有很多与网络相关的命令.

本文收集了一些常见命令的使用和常见问题的解答.



Q: How to use ifconfig

A: ifconfig的命令行参数:
up 激活指定的接口
down 关闭指定接口。该参数可以有效地阻止通过指定接口的IP信息
流,如果想永久地关闭一个接口,我们还需要从核心路由表中
将该接口的路由信息全部删除

netmask mask 为接口设置IP网络掩码。掩码可以是有前缀0x的32位十六进制
数,也可以是用点分开的4个十进制数。如果不打算将网络分成
子网,可以不管这一选项;如果要使用子网,那么请记住,网络
中每一个系统必须有相同子网掩码。

pointpoint 打开指定接口的点对点模式。它告诉核心该接口是对另一台机
器的直接连接。当包含了一个地址时,这个地址被分配给列表另
一端的机器。如果没有给出地址,就打开这个指定接口的
POINTPOINT选项。前面加一个负号表示关闭pointpoint选项。

broadcast address 当使用了一个地址时,设置这个接口的广播地址。如果
没有给出地址,就打开这个指定接口的IFF_BROADCAST选项。
前面加上一个负号表示关闭这个选项。

metric number 将接口度量值设置为整数number。度量值表示在这个路径上发
送一个分组的成本。目前内核中还没有使用路由成本,但将来会。

mtu bytes 将接口在一次传输中可以处理的最大字节数设置为整数bytes。
目前核心网络代码不处理IP分段,因此一定要把MTU(最大数据
传输单元) 值设置得足够大
arp 打开或关闭指定接口上使用的ARP协议。前面加上一个负号用于
关闭该选项。
allmuti 打开指定接口的无区别模式。打开这个模式让接口把网络上的
所有信息流都送到核心中,而不仅仅是把你的机器的信息发送给
核心。前面加上一个负号表示关闭该选项
hw 为指定接口设置硬件地址。硬件类型名和次硬件地址对等的
ASCII字符必须跟在这个关键字后面。目前支持以太网
(ether)、AMPR、AX.25和PPP
traliers 打开以太网帧上的跟踪器。目前还未在LINUX网络中实现

通常不需要使用所有的这些配置。Ifconfig可以仅由接口名、网络掩码和分配
IP地址来设置所需的一切。当ifconfig疏漏了或者有一个复杂的网络时,只要
重新设置大多数参数。


Q: How to use netstat
A: 使用netstat命令可以监控TCP/IP网络配置和工作状况。它可以显示内核路由表、
活动的网络状态以及每个网络接口的有用的统计数字。欲得详情请阅man page。

-a 显示所有Internet连接的有关信息,包括那些正在监听的信息

-i 显示所有网络设备的统计数字

-c 不断显示网络的更新状态。这个参数使用netstat每秒一次的输出网络状态
   列表,直到该程序被中断

-n 以数字/原始形式显示远程地址、本地地址和端口信息,而不是解析主机名
   和服务器

-o 显示计数器的终止时间和每个网络连接的回退(back off)情况

-r 显示内核路由表

-t 只显示TCP socket信息,包括正在监听的信息

-u 只显示UDP socket信息

-v 显示netstat版本信息

-w 显示原始(raw)socket信息

-x 显示UNIX域socket信息


Q: how to config "iptables" ?

A: 修改防火墙配置信息:
/etc/sysconfig/iptables
/etc/sysconfig/redhat-config-securitylevel
如果你在 /etc/sysconfig/iptables 文件中配置了一个防火墙或防火墙规则,
在你选择了「无防火墙」并点击了「确定」来保存改变之后,这个文件就会被删除。

激活 iptables 服务
防火墙规则只有在 iptables 服务运行的时候才能被激活。要手工启动服务,使用以下命令:
/sbin/service iptables restart

要确保它在系统引导时启动,使用以下命令:
/sbin/chkconfig --level 345 iptables on

ipchains 服务不能和 iptables 服务同时运行。要确定 ipchains 服务被禁用,执行以下命令:
/sbin/chkconfig --level 345 ipchains off

ipchains的启动: gnome-lokkit


Q: How to modify ip address ?

A:最好使用ipconfig命令。把这个命令写到/etc/rc.d/rc.local文件中,每次开机都会自己运行。
   这种方法在任意一种Linux发行版中都可以使用。

   永久更改ip ?
     ifconfig eth0 新ip
     编辑/etc/sysconfig/network-scripts/ifcfg-eth0,修改ip


Q: How to implement router ?

A:至少需要安装两个网卡,将/proc/sys/net/ipv4/ip_forward文件内容改成“1”,然后用route
   命令配置路由表就可以了。


Q:  如何得到网卡的MAC地址 ?
A:  arp -a | awk '{print $4}'
    ifconfig eth0 | head -1 | awk '{print $5}'

Q:  如何修改网卡MAC地址 ?
A:
    1. 首先必须关闭网卡设备,否则会报告系统忙,无法更改。
       /sbin/ifconfig eth0 down

    2. 修改 MAC 地址,这一步较 Windows 中的修改要简单。
       /sbin/ifconfig eth0 hw ether 00:AA:BB:CC: DD:EE

    3. 重新启用网卡: /sbin/ifconfig eht0 up

Q:  如何得到网卡的IP地址 ?
A:  ifconfig eth0 |awk '/inet addr/ {split($2,x,":");print x[2]}'


Q:  linux下清空arp表的命令
A:  #arp -d -a(适用于bsd)
    for HOST in `arp | sed '/Address/d' | awk '{ print $1}'` ; do arp -d $HOST; done


Q:  使用ntp协议从服务器同步时间
A:  ntpdate NTP-SERVER


Q:  host命令的用法
A:  host能够用来查询域名,它还能得到更多的信息

    host -t mx example.com可以查询出example.com的MX记录,以及处理mail的host的名字
    host -l example.com会返回所有注册在example.com下的域名
    host -a example.com则会显示这个主机的所有域名信息.


Q:  How to make linux support NAT ?
A:  echo 1 > /proc/sys/net/ipv4/ip_forward
    iptables -t nat -I POSTROUTING -j MASQUERADE


Q:  rh8.0下rcp的用法设置
A:
    只对root用户生效
     1. 在双方root用户根目录下建立.rhosts文件,并将双方的hostname加进去.在此之前应在双方的
         /etc/hosts文件中加入对方的IP和hostname

     2. 把rsh服务启动起来,redhat默认是不启动的。
        方法:用执行ntsysv命令,在rsh选项前用空格键选中,确定退出。 然后执行:
             service xinetd restart即可。

     3. 到/etc/pam.d/目录下,把rsh文件中的auth required /lib/security/pam_securetty.so
        一行用“#”注释掉即可。


Q:  ethX设备上,使LINUX支持网络广播功能 ? (默认不支持)
A:  ip route add 255.255.255.255 dev ethX


Q:  How to use NFS ?
A:  1. How to config NFS server

        Linux:
         .  edit /etc/exports
         .  add:
             " /mnt/export   hostname(ro,sync,no_root_squash) "

         .  service nfs start/stop/restart/reload/status


        Solaris:
           edit /etc/dfs/dfstab  (list of share commands to be executed at boot time)
            ./etc/rc3.d/S15.nfsserver start(stop)


    2. How to mount NFS system on another host

       There are three methods you can use.

        I.  mount  hostname:/misc/export  /misc/local

            mount -o tcp hostname:/misc/export /misc/local  (use TCP)

        II. 在 /etc/fstab 文件中添加一行。这一行中必须声明NFS服务器的主机名,要导出的目录,
            以及要挂载 NFS 共享的本地机器目录。你必须是根用户才能修改 /etc/fstab 文件。

            语法:
                server:/usr/local/pub    /pub   nfs    rsize=8192,wsize=8192,timeo=14,intr
             or server:/usr/local/pub    /pub   nfs    rsize=8192,wsize=8192,timeo=14,intr,tcp

            挂载点 /pub 在客户机器上必须存在。在客户系统的 /etc/fstab 文件中把这一行添加完毕后,
            在shell 提示下键入命令 mount /pub,以及将会从服务器中挂载的挂载点 /pub。


       III. 使用 autofs 来挂载 NFS 文件系统

            autofs使用automount守护进程来管理你的挂载点,它只在文件系统被访问时才动态地挂载它们。

            autofs 咨询主映射配置文件 /etc/auto.master 来决定要定义哪些挂载点。然后它使用适用于
            各个挂载点的参数来启动automount 进程。主映射配置中的每一行都定义一个挂载点,一个分
            开的映射文件定义在该挂载点下要挂载的文件系统。

            例如: /etc/auto.misc 文件可能会定义 /misc 目录中的挂载点;这种关系在 /etc/auto.master
            文件中会被定义。

            auto.master 文件中的每个项目都有三个字段。第一个字段是挂载点。第二个字段是映射文件的
            位置,第三个字段可选。第三个字段可以包括超时数值之类的信息。

            例如:要在你的机器上的 /misc/myproject 挂载点上挂载远程机器 penguin.example.net 上的
            /project52 目录:

              . 在 auto.master 文件中添加以下行:

                 /misc   /etc/auto.misc --timeout 60

              . 在 /etc/auto.misc 文件中添加以下行:

                myproject  -rw,soft,intr,rsize=8192,wsize=8192 penguin.example.net:/proj52
                myproject  -rw,soft,intr,rsize=8192,wsize=8192,tcp penguin.example.net:/proj52

            autofs 是一种服务:
              /sbin/service autofs restart
              /sbin/service autofs status
              /sbin/service autofs reload


Q:  查出22端口现在运行什么程序 ?
A:  lsof -i :22


Q:  如何修改Linux机器所在的工作组 ?
A:  vi /etc/samba/smb.conf,修改这行 "workgroup =...",将组名写在后面。

Q:  一块网卡如何绑定两个ip ?
A:  #cd /etc/sysconfig/network-scripts
    #cp ifcfg-eth0 ifcfg-eth0:1
    #vi ifcfg-eth0:1
    修改IP和设备名

Q:  一个ip如何绑定两块网卡 ?
A:  假设192.168.0.88是ip,192.168.0.1是网关:
      /sbin/modprobe bonding miimon=100 mode=1
      /sbin/ifdown eth0
      /sbin/ifdown eth1
      /sbin/ifconfig bond0 192.168.0.88
      /sbin/ifenslave bond0 eth0 eth1
      /sbin/route add default gw 192.168.0.1


Q:  查看本机的IP,gateway,dns ?
A:  IP:
       以root用户登录,执行ifconfig。其中eth0是第一块网卡,lo是默认的设备

    Gateway:
       以root用户登录,执行netstat -rn,以0.0.0.0开头的一行的Gateway即为默认网关
       也可以查看/etc/sysconfig/network文件,里面有指定的地址!

    DNS:
     more /etc/resolv.conf,内容指定如下:

       nameserver xxx.xxx.xxx.xxx
       nameserver xxx.xxx.xxx.xxx


Q:  让apache的默认字符集变为中文 ?
A:
     如果是1.*,vi httpd.conf
     找到 AddDefaultCharset ISO8859-1 一行,改为AddDefaultCharset GB2312

     如果是2.*的话,需要改动一个地方,vi httpd.conf
      AddDefaultCharset ISO-8859-1 改为 AddDefaultCharset off


Q:  怎样改变telnet的端口 ?
A:
     1. 将/etc/services文件中telnet对应的端口号21改为你想要的值;
     2. /etc/init.d/xinetd restart重启守护进程


Q:  linux下如何监视所有通过本机网卡的数据 ?
A:   tcpdump iptraf


Q:  如何构建安全的远程登录?

A: 使用SSH来实现安全的远程登录,因为SSH实现了数据传输的加密。
  1) 从ftp.cs.htu.fi/pub/ssh获取ssh-1.26.tar.gz文件;
  2) 用tar zxvf ssh-1.26.tar.gz解开这个包;
  3) 到解开的目录/usr/local/src/ssh-1.26目录下执行./configure;
  4) 执行make和make install来完成编译和安装。
  5) 你就可以使用ssh来与安装了SSH的服务器建立安全的远程连接。


Q:  如何使用Linux架设WEB服务器?
A:  Apache服务器是在Linux架设WEB服务器的首选。你可以在安装Linux时
    就选择安装它。若在安装时没有安装Apache的话,你可以从光盘或者到
    apache网站上找到文件:apache-1.3.12.i386.rpm,然后执行以下命令
    完成安装:
  1)rpm –ivh apache-1.3.12.i386.rpm
  2)修改/etc/httpd/conf目录下的配置文件httpd.conf、access.conf等;
  3)将主页文件放到/home/httpd/html目录下;
  4)执行“/etc/rc.d/init.d/httpd start”启动Apache服务器
  如果需要关闭的话,可以执行/etc/rc.d/init.d/httpd stop命令。


Q:  如何使用Linux架设FTP服务器?
  在Linux中,最常用的FTP服务软件当数wu-ftpd,如果在安装linux时没安装,
    你可从光盘或者从网站rpmfind.net/linux/RPM/WbyName.html获取它的RPM包:
    wu-ftpd-2.6.0-9.i386.rpm。然后执行以下命令

    完成安装:
    rpm -ivh wu-ftpd-2.6.0-9.i386.rpm
  
    编辑 "/etc/inetd.conf" 文件,指向新的ftpd守护进程,如下所示:
     ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l a
  
    到此为止,你的Linux就可以接受FTP服务了


Q:  如何使用Linux架设E-MAIL服务器 ?
A: Linux中,最常用的E-MAIL服务器是Sendmail,你可以在安装Linux时将其选中。
  1) 在DNS服务器上为E-Mail服务器做一条MX记录;
  2) 编辑/etc/inetd.conf文件,将关于pop和smtp的行的注释符去掉;
  3) 执行kill –HUP inetd,使修改生效;
  这样E-mail服务器的用户就可通过Outlook等客户端程序进行收发邮件了。


Q:  如何使用Linux架设News服务器 ?
  在安装Linux时,选择INN软件包,并允许开机时启动innd。在完成系统的安装时,
    大部分配置工作已经完成,无需编译源码。

  1)配置/etc/news/inn.conf:
       domain: foo.com
       organization: foo company news site
       server: localhost
   
      根据实际情况填写;
  
    2)配置/etc/news/nnrp.access nnrp.access是用来完成News Readers服务的守候
       进程nnrpd的配置文件,用于控制对站点的访问,修改此文件无须启动INND。

  3)添加新闻组:
     可以手工编辑/var/lib/news/active文件添加新闻组,也可以使用ctlinnd命令来增加。
       若是手工方式修改新闻组,须执行以下命令使其生效:
       ctlinnd reload active "modify active"


Q:  如何让Linux成为文件服务器 ?
A: 在Linux中,你可以用Samba来做文件服务器,你可以在安装Linux时选中Samba就可以完成安装。

    1) 编辑/etc/smb.conf,修改配置:
       netbios name=linux
        workgroup=SambaServer
        server string=Samba Server
        hosts allow=192.168.9. 127.
        securoty=share
        interfaces=192.168.9.1/24
        name resolve order=host dns bcast
        wins support=no
  2)重新启动SMB服务器:/etc/rc.d/init.d/smb restart
  3)编辑客户机的hosts文件,加入对Samba Server的解析;
  4)最后你就可以在网上邻居上看到它了。


Q:  如何使用Linux架设代理服务器 ?
A: 1) 到http://squid.nlanr.net/Squid/ 下载Squid代理服务器软件squid-2.2.STABLE3-src.tar.gz;
  2) 执行tar xzxf squid-2.2.STABLE3-src.tar.gz
  3) 执行./configure
  4) 执行make,make install安装到/usr/local/squid目录下;
  5) 编辑/usr/local/squid/squid.conf文件,加入:
        acl allowed_hosts src 192.168.9.0/255.255.255.0
    注:假设你的内网IP地址是192.168.9.0;

  6) 执行/usr/local/squid/bin/squid –z进行初始化
  7) 执行/usr/local/squid/bin/squid开启服务
  8) 在客户端设置代理服务器IP和端口3128,就可以访问Internet了。


Q:  如何使用Linux架设透明网关 ?
A: 确认Linux内核已经支持ipchain,然后编写一个脚本ipchains.rule,内容为:
  
注:假设透明网关服务器的外网地址是:1.2.3.4,已经与Internet相连;内网地址是192.168.9.1,
    连在内网上。

#!/bin/sh
/sbin/ipchains -F forward
/sbin/ipchains -F input
/sbin/ipchains -F output
/sbin/ipchains -P forward DENY
/sbin/ipchains -P input ACCEPT
/sbin/ipchains -P output ACCEPT
external_interface=1.2.3.4
/sbin/ipchains -A input -j ACCEPT -i lo
/sbin/ipchains -A output -j ACCEPT -i lo
/sbin/ipchains -A input -j DENY -i eth1 -s 192.168.9.0/24
/sbin/ipchains -A input -j DENY -i eth1 -d 192.168.9.0/24
/sbin/ipchains -A output -j DENY -i eth1 -s 192.168.9.0/24
/sbin/ipchains -A output -j DENY -i eth1 -d 192.168.9.0/24
/sbin/ipchains -A input -j DENY -i eth1 -s $external_interface/32
/sbin/ipchains -A input -j DENY -i eth1 -s $external_interface/32
/sbin/ipchains -A output -j DENY -i eth1 -d $external_interface/32
/sbin/ipchains -A forward -j ACCEPT -i eth0 -s 192.168.9.0/24
-d 192.168.9.0/24
/sbin/modprobe ip_masq_ftp
/sbin/modprobe ip_masq_quake
/sbin/modprobe ip_masq_irc
/sbin/modprobe ip_masq_user
/sbin/modprobe ip_masq_raudio
/sbin/ipchains -A forward -j MASQ -i eth1 -s 192.168.9.0/24

运行这个脚本后,192.168.9.0网络中的所有机器只需将网关设置为192.168.9.1,就可以连到
Internet上了。

相关阅读 更多 +
排行榜 更多 +
实时多人坦克

实时多人坦克

飞行射击 下载
军团史诗战争

军团史诗战争

飞行射击 下载
极速狂野飞车漂移

极速狂野飞车漂移

飞行射击 下载