LINUX上网

[root@flc sbin]# pppoe-setup

Welcome to the PPPoE client setup.  First, I will run some checks on
your system to make sure the PPPoE client is installed properly...


LOGIN NAME

Enter your Login Name (default root): root

INTERFACE

Enter the Ethernet interface connected to the PPPoE modem
For Solaris, this is likely to be something like /dev/hme0.
For Linux, it will be ethX, where 'X' is a number.
(default eth0):

Do you want the link to come up on demand, or stay up continuously?
If you want it to come up on demand, enter the idle time in seconds
after which the link should be dropped.  If you want the link to
stay up permanently, enter 'no' (two letters, lower-case.)
NOTE: Demand-activated links do not interact well with dynamic IP
addresses.  You may have some problems with demand-activated links.
Enter the demand value (default no):

DNS

Please enter the IP address of your ISP's primary DNS server.
If your ISP claims that 'the server will provide dynamic DNS addresses',
enter 'server' (all lower-case) here.
If you just press enter, I will assume you know what you are
doing and not modify your DNS setup.
Enter the DNS information here: server

PASSWORD

Please enter your Password:
Please re-enter your Password:

USERCTRL

Please enter 'yes' (three letters, lower-case.) if you want to allow
normal user to start or stop DSL connection (default yes):

FIREWALLING

Please choose the firewall rules to use.  Note that these rules are
very basic.  You are strongly encouraged to use a more sophisticated
firewall setup; however, these will provide basic security.  If you
are running any servers on your machine, you must choose 'NONE' and
set up firewalling yourself.  Otherwise, the firewall rules will deny
access to all standard servers like Web, e-mail, ftp, etc.  If you
are using SSH, the rules will block outgoing SSH connections which
allocate a privileged source port.

The firewall choices are:
0 - NONE: This script will not set any firewall rules.  You are responsible
          for ensuring the security of your machine.  You are STRONGLY
          recommended to use some kind of firewall rules.
1 - STANDALONE: Appropriate for a basic stand-alone web-surfing workstation
2 - MASQUERADE: Appropriate for a machine acting as an Internet gateway
                for a LAN
Choose a type of firewall (0-2): 0

Start this connection at boot time

Do you want to start this connection at boot time?
Please enter no or yes (default no):

** Summary of what you entered **

Ethernet Interface: eth0
User name:          root
Activate-on-demand: No
DNS addresses:      Supplied by ISP's server
Firewalling:        NONE
User Control:       yes
Accept these settings and adjust configuration files (y/n)? y
Adjusting /etc/sysconfig/network-scripts/ifcfg-ppp0
Adjusting /etc/ppp/chap-secrets and /etc/ppp/pap-secrets
  (But first backing it up to /etc/ppp/chap-secrets.bak)
  (But first backing it up to /etc/ppp/pap-secrets.bak)



Congratulations, it should be all set up!

Type '/sbin/ifup ppp0' to bring up your xDSL link and '/sbin/ifdown ppp0'
to bring it down.
Type '/sbin/pppoe-status /etc/sysconfig/network-scripts/ifcfg-ppp0'
to see the link status.


在 Linux 系统中,要以 ADSL 连上 Internet 是一件很简单的事情,使用rp-pppoe软件就可以进行拨接了!安装也很方便喔!再来要注意的是,在目前的 Linux 版本当中,由于强调桌上型计算机的便利性,所以很多版本的 Linux 都取消了文字接口下的 ADSL 拨接指令,例如 Red Hat 新版的 Linux 。所以在预设的状态下,我们仅能以图形接口启动 ADSL ,这真的很讨厌,因为我们的主机就是不想要启用 X Window 的啊!怎么办?没关系,我们可以透过重新安装 rp-pppoe 就行啦!我们提过在 Linux 的安装方式主要有RPM 与 Tarball两种方式,目前鸟哥已经成功的在 Red Hat 7.2 上面安装rp-pppoe-2.6-5.src.rpm
这个版本的 rp-pppoe 啰!然而由于很多时候 RPM 有相依属性的问题,因此我们也尝试以 Tarball 来安装一下 rp-pppoe 吧!( 注:如果依旧无法以 RPM 安装 rp-pppoe 时,请直接以 Tarball 来安装吧! )
 
此外,需要特别留意的是,原本 Linux 主机上面就会有 eth0 这个网络卡接口,不过在使用 rp-pppoe 拨接之后,会多产生了一个对外的接口,称为 ppp0 的这个网络联机接口,因此,您将具有三个网络接口喔!分别是:
 
内部循环测试用的lo接口;
网络卡 eth0 这个接口;
拨接之后产生的经由 ISP 对外连接的 ppp0 接口。  
而由于这三个接口的 IP 网段都不相同,因此,请『特别留意通讯闸的设定!』一般而言,在 ADSL 拨接的状态下,前面提到的几个档案的设定内容中,『都不要设定GATEWAY及GATEWAYDEV这两个参数』,因为 rp-pppoe 会自动由 ISP 取得这方面的数据,如果您设定了GATEWAY,反而会造成系统无法联机出去的状态喔!
 
因为拨接之后会产生两个实体接口,分别为 eth0 与 ppp0 ,所以底下我们将针对两个接口进行设定。在 eth0 的设定中,我们选择 192.168.1.0/255.255.255.0 并且 IP 为 192.168.1.2 ,至于 ppp0 则完全由 rp-pppoe 所产生。
 
设定与安装的步骤简单说明如下:
 
重新设定网络参数档案;
查看是否安装了 rp-pppoe,移除 rp-pppoe;
安装 rp-pppoe :
    用 rpm 安装;
    用 Tarball 安装;
设定 rp-pppoe :
ADSL 拨接连线  
好了!开始一步一步来进行安装与设定及联机的步骤吧!
 
重新设定网络参数档案:
由于我们是使用拨接的方式来连上 Internet 的,所以 default gateway 是由 rp-pppoe 拨接之后 ISP 直接传送数据到我们 Linux 主机上的,因此,在您的 Linux 系统当中,千万不要设定 GATEWAY 或者是 GATEWAYDEV 喔!( 这个情况我们会在Linux Router的设定当中说明 )!
1. 取消预设通讯闸
[root@test root]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes    
但若不需要内部网络时,这一行请直接写成 no ,反正拨接之后网络卡会自动被启动!
BOOTPROTO=static
IPADDR=192.168.1.2
NETMASK=255.255.255.0
NETWORK=192.168.1.0
BROADCAST=192.168.1.255
 
[root@test root]# /etc/rc.d/init.d/network restart 
移除原本的 rp-pppoe 套件:
如同前面说的,新版的 rp-pppoe 很多都仅支持图形接口的拨接程序,所以我们这里直接将 rp-pppoe 移除 (或者根本不要使用预设的 rp-pppoe 套件),然后再重新安装官方网站的 rp-pppoe 套件说:
[root@test root]# rpm -qa | grep rp-pppoe
rp-pppoe-3.5-2    
[root@test root]# rpm -e rp-pppoe 
安装 rp-pppoe :
安装 rp-pppoe 的方式有两种,可以使用 rpm 与 tarball 的方式来分别安装,不过,只要选择一种来安装就可以啦!
RPM 安装 rp-pppoe:
    如果您下载的是SRPM的档案的话,那么就需要先经过编译才行。详细的编译及安装步骤如下表所示:(请注意,编译的过程也需要gcc之类的compiler如果没有在Install的时候选择时,在编译个过程中可能会有出现错误,请自行由 Linux 原版光盘安装吧! )   
    下载 rp-pppoe :
    rp-pppoe 的下载网站在:http://www.roaringpenguin.com/pppoe/#download,底下我是以rp-pppoe-3.5-1.src.rpm 这个档案进行介绍的。如果您的主机尚未开放任何的服务时,您可以使用软盘来下载 rp-pppoe,因为rp-pppoe的档案很小啦!还不到200KB 呢!所以软盘就可以啰!如何使用软盘呢?
        先使用软盘将下载下来的 rp-pppoe copy 到软盘上;
        将软盘放置于 Linux 主机的软盘槽中;
        在 Linux 底下使用 df 这个指令,看看有没有类似底下的这一行:
        /dev/fd0     1423   0  1423 0% /mnt/floppy
        如果有的话,请使用『 umount /mnt/floppy 』,如果无,则跳到下一步;
        使用『 ls -l /mnt 』看看有没有 floppy 这个目录:
        如果有则下一步,若无则『 mkdir /mnt/floppy 』;
        使用『 mount -t vfat /dev/fd0 /mnt/floppy 』将软盘挂上去!
        使用『 cp /mnt/floppy/rp* /root 』将档案 copy 到 /root 这个目录下;
        使用『 cd /root 』将目录转到 root 底下。
     
编译及安装 rp-pppoe :
    1. 编译 SRPM:
    [root@test root]# rpm --rebuild rp-pppoe-3.5-1.src.rpm
    [root@test root]# rpmbuild --rebuild rp-pppoe-3.5-1.src.rpm
    # 注:在 Red Hat 7.3 以前, rpm 的指令使用 rpm ,但是在 Red Hat 8
    # 以后, SRPM 的重制指令已经独立至 rpmbuild 啰!所以请选择
    # 适合您的 Linux 版本喔!
    .........
    Wrote: /usr/src/redhat/RPMS/i386/rp-pppoe-3.5-1.i386.rpm
    .........
    在编译时,最后的结果(如果没有错误)会显示上面那个样子!
    也就是说,您的编译完成的档案就放在上面啰!
     
    2. 安装 rp-pppoe :
    [root@test root]# cd /usr/src/redhat/RPMS/i386
    [root@test i386]# rpm -ivh rp-pppoe-3.5-1.i386.rpm
    Preparing... ########################################### [100%]
    1:rp-pppoe ########################################### [100%]
    [root@test i386]# rpm -q rp-pppoe
    rp-pppoe-3.5-1
    这样就安装完毕了!简单吧!如果不相信,可以查询看看! 安装完毕之后,会在 /usr/sbin 当中多了 adsl-start, adsl-stop, adsl-setup, adsl-status 等档案,至于设定档则在 /etc/ppp 当中!如果您要详细的看每一个指令的用法,可以使用 man adsl-setup ....等指令名称来观察!我们这里仅提供设定的方法及执行的方法!
     
    Tarball 安装 rp-pppoe :
    嗯!由于 RPM 可能会有相依属性的问题!因此,如果您的系统上面无法安装 rp-pppoe 的话,那么就直接以 Tarball 的方式来安装 rp-pppoe 吧!目前 (2003/08/18) 最新的 rp-pppoe 套件为
    rp-pppoe-3.5.tar.gz
    这个档案:
    1. 解压缩!
    [root@test root]# mv rp-pppoe-3.5.tar.gz /usr/local/src
    [root@test root]# cd /usr/local/src
    [root@test src]# tar -zxvf rp-pppoe-3.5.tar.gz
     
    2. 侦测系统与编译执行文件:
    [root@test src]# cd rp-pppoe-3.5/src
    [root@test src]# ./configure --prefix=/usr/local
    [root@test src]# make; make install安装方面很简易吧!这样就妥当啰!准备来给他设定一下吧!
     


设定 rp-pppoe :
rp-pppoe的设定非常简单,只要透过 /usr/sbin/adsl-setup ( 若为 Tarball 安装的话,那么就在 /usr/local/sbin /adsl-setup 啰 ) 这个程序来设定就 OK 了!

[root@test root]# /usr/sbin/adsl-setup
>>> Enter your PPPoE user name (default [email protected]): T0123456
这个时候请输入您在ADSL的账号,不同的 ISP 有不同的设定方式呦!请特别注意!
a. 如果是seednet的话,应该有点像这样==> T0123456
b. 如果是Hinet的话,应该有点像这样====> [email protected](连同 host 也要写)
 
>>> Enter the Ethernet interface connected to the ADSL modem
For Solaris, this is likely to be something like /dev/hme0.
For Linux, it will be ethn, where 'n' is a number.
(default eth0): eth0
因为我们使用eth0联机的呀!
 
>>> Enter the demand value (default no):
这里按 enter 不用设定就好了!
>>> Enter the DNS information here: 168.95.1.1
>>> Enter the secondary DNS server address here: 139.175.10.20
这里要您输入惯用的 DNS 主机:
若使用 hinet 的话,可以打入 168.95.1.1
若使用 seednet 的时候,可以打入 139.175.10.20
 
>>> Please enter your PPPoE password:
>>> Please re-enter your PPPoE password:
这里就输入您的ADSL密码啦,要输入两次喔!
 
The firewall choices are:
0 - NONE: This script will not set any firewall rules. You are responsible
for ensuring the security of your machine. You are STRONGLY
recommended to use some kind of firewall rules.
1 - STANDALONE: Appropriate for a basic stand-alone web-surfing workstation
2 - MASQUERADE: Appropriate for a machine acting as an Internet gateway
for a LAN
>>> Choose a type of firewall (0-2): 0
这里要您选择防火墙的形式,通常我是不设火墙的,
所以直接选 0 就对了! 注意:选了防火墙有的时候反而会造成无法联机成功!
反正未来我们会手动设定防火墙,所以这里不设定没有关系!
 
Start this connection at boot time
Do you want to start this connection at boot time?
Please enter no or yes.
yes
如果想要一开机就自动启动 ADSL 联机的话,这里可以填入yes啦!
 
Ethernet Interface: eth0
User name: T0123456
Activate-on-demand: No
Primary DNS: 168.95.1.1
Secondary DNS: 139.175.10.20
Firewalling: NONE
 
>>> Accept these settings and adjust configuration files (y/n)?y
接下来将您的设定作一个整合结果输出,如果没有问题的话,
输入 y 之后就完成设定啦!
基本上,设定完成之后以下的档案会被自动改变,
有影响的是 resolv.conf 这个档案,您可以手动改变这个档案喔!
 
Adjusting /etc/ppp/pppoe.conf
Adjusting /etc/resolv.conf
(But first backing it up to /etc/resolv.conf-bak)
Adjusting /etc/ppp/pap-secrets and /etc/ppp/chap-secrets
(But first backing it up to /etc/ppp/pap-secrets-bak)
(But first backing it up to /etc/ppp/chap-secrets-bak)
哈哈!这样设定就成功啦!很简单吧!唯一需要注意的是在上面的 username 那个地方,千万注意,因为 hinet 与 seednet 的设定是不一样的!千万小心呢!否则会无法连上线呦!此外,由于我们在未来还会有 firewall 的建置,所以这里不太需要使用到防火墙啦!就先关闭他吧 ( 选 0 ) !否则也可能无法连上 Internet 呦!(注:上面那个 T0123567 以及密码都是向 ISP 申请的,不是自己随便设定的喔!不要搞错了!)另外,注意一下,我们上面使用 adsl-setup 的设定,其实最主要是修改两个档案,分别是 /etc/ppp/pppoe.conf 这个主要设定档,以及 /etc/ppp/chap-secrets 这个密码储存文件!仔细去察看一下 chap-secrets 这个档案的内容,您就可以知道您的密码是否输入错误了! ^_^
 
连上 Internet 啦!
怎么拨接呢?简单的很,直接下达 adsl-start 即可!
[root@test root]# adsl-start
....Connect!这样就是显示连上 Internet 啦!通常比较容易出问题的地方在于硬件的联机情况,请先确认所有的硬件联机没有问题喔!通常,如果您使用小乌龟 ( ATU-R ) 时,请使用跳线连接网络卡与 ATU-R。另外一个容易出错的地方在于输入的账号与密码,账号与密码都是您的ISP给您的,并且注意大小写(可以到 /etc/ppp/chap-secrets 察看一下是否设定错误?)。
 
查看您的IP啦!
那如何知道您的IP呢?呵呵!就使用 ifconfig 呀!
[root@test root]# ifconfig ppp0
ppp0 Link encap:Point-to-Point Protocol
inet addr:211.74.249.38 P-t-P:172.16.11.8 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1492 Metric:1
RX packets:8356088 errors:0 dropped:0 overruns:0 frame:0
TX packets:8532063 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:10在上表中显示,ppp0 ( 就是 ADSL 的 ISP 给您的公共 IP ) 的网址是 211.74.249.38。
 
自动侦测 ppp0 的拨接状态:
基本上,目前的 rp-pppoe 已经都设定好了断线后会自动拨接的模式了,因此我们大可不用太担心,不过,如果您还是很担心会断线后无法自动拨接出去,那么可以在 /etc/crontab 加入这一行:
[root@test root]# vi /etc/crontab
.......
01-59/3 * * * * root /usr/sbin/adsl-start > /dev/null 2>&1在上面的式子当中,如果您看不懂的话,那就表示『您需要再将
BASH Shell
学一学了』! ^_^
 
拨接程序 rp-pppoe 讯息错误处理
 
或许您会发现使用 rp-pppoe 拨接之后,您的 /var/log/messages 老是出现这样的讯息:
 
[root@test root]# more /var/log/messages
May 10 18:02:22 testing pppoe[8527]: Bogus PPPoE length field (50) 
这是什么问题啊?在 RP-PPPOE 的官方讨论区上面提过,这个问题是由于 ISP 提供的讯息长度超过 rp-pppoe 预设的检查长度才会发生的一个警告讯息,事实上这个讯息并不重要,不用理会他也没有关系,不会影响到 Internet 的运作。但是,这样的讯息在 /var/log/messages 里面每一分钟就出现一次,实在很讨厌!怎么办,可以将他拿掉吗?!当然可以!您可以下载新的 Tarball 来重新编译过!步骤是这样的:
 
到下面的网站去下载新的 Tarball (我这里以 3.5 为例!)
http://www.roaringpenguin.com/pppoe/#download

在 /usr/local/src底下解开该档案,则会造成 /usr/local/src/rp-pppoe-3.5 这个目录
到 /usr/local/src/rp-pppoe-3.5/src 底下去,修改这四个档案:


    discovery.c
    pppoe.c
    pppoe-server.c
    relay.c

找到这四个档案的内容如下代码:
/* Check length */
if (ntohs(packet.length) HDR_SIZE > len) {
syslog(LOG_ERR, "Bogus PPPoE length field (%u)",
(unsigned int) ntohs(packet.length));
return;
}将他修改成为:
/* Check length */
if (ntohs(packet.length) HDR_SIZE > len) {
/* syslog(LOG_ERR, "Bogus PPPoE length field (%u)",
(unsigned int) ntohs(packet.length)); */
return;
}请注意,上面每个档案都有多个同样的字符串,请依序一个一个都修改掉才行!还没完喔!再到 pppoe.c 找到底下的字眼:
if (plen HDR_SIZE > len) {
syslog(LOG_ERR, "Bogus length field in session packet %d (%d)",
(int) plen, (int) len);
return;
}请将他改成:
if (plen HDR_SIZE > len) {
/* syslog(LOG_ERR, "Bogus length field in session packet %d (%d)",
(int) plen, (int) len); */
return;
}
然后就可以开始这样做啰:
cd /usr/local/src/rp-pppoe-3.5/src
./configure
make
make install
如果一切都可以成功的进行,那么就可以:
adsl-stop
adsl-start 这个简单的步骤应该可以将您的问题讯息克服了吧! ^_^
设定内部保留 IP 与 DNS IP: /etc/hosts, /etc/resolv.conf,

    在新闻群组或者是BBS上面最常听到的就是这个问题啦:
     

        咦!我的ADSL已经拨接上了,使用telnet IP也可以正确的连上BBS,但是为什么就是无法使用『telnet 网址』的方式连上Internet呢?
     

        我在我的虚拟网域内有几部计算机,这几部计算机明明都是在同一个网域之内,而且系统通通没有问题,为什么我使用pop3或者是ftp连上我的Linux主机会停顿好久才连上?
     
    这两个问题其实有点相关性啦,第一个问题比较好解决,那个绝对是DNS的IP设定错误,修改一下/etc/resolv.conf即可!第二个问题则是因为网络联机时,有的时候会去检查联机IP的主机名称(我们称为领域名称反解),但是我们的内部网域计算机都是私有IP,自然无法被反查到他的名称啦!这个时候我们就必需要藉由/etc/hosts这个档案来帮我们的内部计算机设定名称啦(名字可以随便取没有关系啰!)
     
    /etc/hosts
     
    还有几个档案对于内部真的是挺重要的,首先就是 /etc/hosts 这个档案啦!请注意!由于计算机与计算机在交互沟通的时候,都会『想要确认对方的身份』,因此会利用 /etc/hosts 与 /etc/resolv.conf 这两个档案去『查询对方的 domain name 』,亦即是对方的身份啦!这个时候,如果您的计算机在连上对方的计算机时,对方无法查询到您的身份,那就有可能会发生『等待逾时』的情况!最常见的发生状况就在于『使用您的局域网络内的私有 IP ( 或者被称为虚拟 IP )连上具有实体 IP 的 NAT 主机』时,最容易发生这个问题了!您应该会觉得奇怪,『咦!不都是我的局域网络的计算机吗( 指 NAT 主机跟您的 Client ) 怎么 pop3 跟 FTP 联机这么慢?!还要等个 60 秒!』嘿嘿!没错!这个时候就是您的 NAT 主机在追查您的 PC1 的身份啦!
     
    那么通常 Linux 主机是如何查询对方的身份的呢?在预设的情况中( 因为这个顺序可以改变,所以才会说是『预设情况』,这个顺序我们会在 DNS 的架设当中再提及! )首先,就会去检查 /etc/hosts 这个档案的设定,所以他是第一优先,再来则是 /etc/resolv.conf 的 DNS 主机啦!而,由于您 LAN 里面的 Client 是以『私有 IP 』进行架设的,然而您并没有将您的 私有 IP 写入 /etc/hosts 当中,这个时候您的 Linux 主机就会到 /etc/resolv.conf 里面设定的 DNS IP 去查询您的 client 的身份,偏偏您的 client 根本就没有在因特网上( 因为私有路由不可直接与 Internet 连接 ),哈哈!那么当然 Linux 就会找不到,也就会 delay 了几乎 60 秒钟了!
     
    了解了吗?所以说,您就要将您的 私有 IP 的计算机与计算机名称写入您的 /etc/hosts 当中了!好了!那么这个咚咚的内容如何呢?我们来看一看原本的 Red Hat 7.2 的设定吧!
     
    [root@test root]# vi /etc/hosts
    # Do not remove the following line, or various programs
    # that require network functionality will fail.
    127.0.0.1   localhost.localdomain   localhost
    计算机 IP    主机名称         主机别名( alias ) 
    在上面的情况中很容易就发现了设定的方法了吧!很简单吧!没错!那就是 IP 对应主机名称啦!那么现在知道为什么我们给他 ping localhost 的时候,地址会写出 127.0.0.1 了吧!那就是写在这个档案中的啦!而且那一行不能拿掉呦!否则系统的某些服务就会无法被启动!好了!那么将我局域网络内的所有的计算机 IP 都给他写进去!并且,每一部给他取一个您喜欢的名字,即使与 client 的计算机名称设定不同也没关系啦!以我为例,如果我还额外加设了 DHCP 的时候,那么我就干脆将所有的 C Class 的所有网段 ( 什么是 C Class ? 如果看不懂我在写什么,请千万回到
    网络基础
    去看一看内容呦!很重要的! )全部给他写入 /etc/hosts 当中,有点像底下这样:
     
    [root@test root]# vi /etc/hosts
    # Do not remove the following line, or various programs
    # that require network functionality will fail.
    127.0.0.1   localhost.localdomain   localhost
    192.168.1.1  linux001
    192.168.1.2  linux002
    192.168.1.3  linux003
    .........
    .........
    192.168.1.255 linux255 
    如此一来,不论我哪一部计算机连上来,不论是在同一个网段的哪一个 IP ,我都可以很快速的追查到!嘿嘿!那么区内网络互连的时候,就不会多等个好几时秒钟啰!
     
    /etc/resolv.conf
     
    很多朋友常问的一个问题『咦!我可以拨接上网了,也可以 ping 到奇摩雅虎的 IP ,但为何就是无法直接以网址连上 Internet 呢!』嘿!被气死!前面不是一直强调那个 DNS 解析的问题吗?对啦!就是名称解析不对啦!赶快改一下 /etc/resolv.conf 这个档案吧!改成上层 ISP 给您的 DNS 主机的 IP 就可以啦!例如 Hinet 的 168.95.1.1 及 Seednet 的 139.175.10.20 啰!例如底下的范例(这个范例就可以照抄了! ^_^):
     
    [root@test root]# vi /etc/resolv.conf
    nameserver 168.95.1.1
    nameserver 139.175.10.20


无法联机的自我检查几大问题详解


    DNS 设定错误:
    最容易造成无法以网址联机的情况就是 DNS 主机的 IP 设定错误了!大家都习惯将 /etc/resolv.conf 设定成自己 NAT 的主机 IP!这是『错误的情况』!请注意!将『局域网络内的每一部计算机,不只是 NAT 主机,全部的( 不论是 Linux 还是 Windows ) DNS 主机 IP 都写成合法的 IP!例如使用 Hinet 的 168.95.1.1 !』



    GATEWAY 设定错误:
    常常有朋友问到:『为何我的 adsl-start 拨接上了,但是就是无法连接出去 Internet 呢?』有的朋友则是问:『为何我连出去 Internet 的时候,都是以私有 IP 那个接口( eth0 )在联机,而不会以公共 IP ( ppp0 那个接口 )来联机?』这个都是同样的问题,就是系统无法建立实际的 gateway 来沟通您与 Internet 的联机!因为封包送错了方向啦!举个最简单的例子,我们都知道私有 IP 与公共 IP 不能直接相互沟通,所以我们需要在主机上面设定两个 IP ( 通常是以两块网络卡搞定!),一个是公共 IP 另一个则是私有 IP ,然而在设定的初期,很多人都会使用一个预设的 gateway ( 在 /etc/sysconfig/network 或者是 ifcfg-eth0 ),这个gateway 是在告诉系统:『嘿!要上 Internet 您只能由这里出去!』的意思,因此,所有的封包将会直接给他送到这个 gateway 来!不过,抱歉的是,由于您在后来新增了一个 ppp0 ( 拨接之后产生的 ) 界面,这个界面所使用的是公共 IP ,而该 IP 是写在 ppp0 的界面里头的,他可以自行提供合理的 gateway 。然而偏偏您已经设定了一个 default gateway 了,因此不论 pppoe 如何振作,嘿嘿!都没有办法改变的啦!因此,这个时候就必须要来改一下您的 default gateway 了!



    修改 /etc/sysconfig/network 或者是 ifcfg-eth0 这个档案,将里头的:
    GATEWAY=xxxx.xxxx.xxx
    GATEWAYDEV=eth0
    里面的 xxxx.xxx.xxx.x 都删掉,然后,那个如果对外卡是eth0,则设定为 eth0 ,否则亦可设定为 ppp0 ( 拨接! )当然,最好是可以不要设定啦,所以变成了:
    GATEWAY=
    GATEWAYDEV=
    这样就可以啦!如果没有办法立刻达成,可以下达:
    /etc/rc.d/init.d/network restart



其实LINUX上网不外乎四个命令。

一`adsl-setup

LINUX上网_第1张图片

输入你的登录名称

LINUX上网_第2张图片

选择网卡,直接默认即可。按回车

依然是直接默认。

LINUX上网_第3张图片

接下这步是选择DNS服务器,如果你知道你的DNS服务器就添写上即可。如果你的DNS服务器是自动获取的则输入server。如果不输入的话上不了网要不要找我啊,呵呵

LINUX上网_第4张图片

输入秘码,这个我就不知道你要输入什么了,(你也不知道,我靠·#¥%……)

连续输入两次密码。

LINUX上网_第5张图片

直接回车下一步。

LINUX上网_第6张图片

这一步是选择防火墙的等级,我一直都是选0

LINUX上网_第7张图片

这一步是问你是否想将此链接在开机时启动。

最后一步,确认你所输入的全部正确后输入y

此至,配置工作完成。

二、adsl-start

这个是用来拔号的命令

三、adsl-stop

这个是用来停止ADSL的命令。

四、adsl-status

这个命令是用来查看ADSL连接的命令。


root@centos /]# whereis adsl-setup   查看adsl-setup的安装位置
adsl-setup: /sbin/adsl-setup   /usr/sbin/adsl-setup        /usr/share/man/man8/adsl-setup.8.gz
[root@centos /]# cd sbin   切换到adsl-setup的目录
[root@centos sbin]# ls adsl-* 显示adsl-相关的命令,看这些单词应该知道意思,如果你连这都看不懂,那你不用往下看了。
adsl-connect adsl-setup    adsl-start    adsl-status   adsl-stop
[root@centos sbin]# adsl-setup 开始设置

Welcome to the ADSL client setup. First, I will run some checks on
your system to make sure the PPPoE client is installed properly...

欢迎信息
LOGIN NAME
然后要求我们输入登陆名,这里输入上网帐号。

Enter your Login Name (default root): wndlxm002    #天翼上网卡母卡帐号

INTERFACE

Enter the Ethernet interface connected to the ADSL modem
For Solaris, this is likely to be something like /dev/hme0.
For Linux, it will be ethX, where 'X' is a number.
(default eth0): eth0
要求我们选择使用的网络接口。我们这时候,填入我们刚刚设置的那个网卡。对于大多数只有一个网卡的朋友而言,默认eth0就可以了。
Do you want the link to come up on demand, or stay up continuously?
If you want it to come up on demand, enter the idle time in seconds
after which the link should be dropped. If you want the link to
stay up permanently, enter 'no' (two letters, lower-case.)
NOTE: Demand-activated links do not interact well with dynamic IP
addresses. You may have some problems with demand-activated links.
Enter the demand value (default no): no
接下来,询问的是,adsl连接以后,是否持续保持连接。或者是自动的断开,在指定的时间(以秒数计算)内。多数情况下,我们希望手动的打开关闭连接。所以这里选择默认的no。

DNS

Please enter the IP address of your ISP's primary DNS server.
If your ISP claims that 'the server will provide dynamic DNS addresses',
enter 'server' (all lower-case) here.
If you just press enter, I will assume you know what you are
doing and not modify your DNS setup.
Enter the DNS information here: 61.134.1.5
Please enter the IP address of your ISP's secondary DNS server.
If you just press enter, I will assume there is only one DNS server.
Enter the secondary DNS server address here: 218.30.19.40

再下来,就是dns了。我发现很多时候,pppoe都不能够正确获取dns信息。我建议你输入dns地址。

PASSWORD
Please enter your Password:
Please re-enter your Password:
帐号密码是必须,输入两次。密码显示风格和其他的地方一样,不显示在屏幕上。

USERCTRL

Please enter 'yes' (three letters, lower-case.) if you want to allow
normal user to start or stop DSL connection (default yes): yes

是否允许普通用户启用/关闭 ADSL连接。默认是允许。

FIREWALLING

Please choose the firewall rules to use. Note that these rules are
very basic. You are strongly encouraged to use a more sophisticated
firewall setup; however, these will provide basic security. If you
are running any servers on your machine, you must choose 'NONE' and
set up firewalling yourself. Otherwise, the firewall rules will deny
access to all standard servers like Web, e-mail, ftp, etc. If you
are using SSH, the rules will block outgoing SSH connections which
allocate a privileged source port.

The firewall choices are:
0 - NONE: This script will not set any firewall rules. You are responsible
          for ensuring the security of your machine. You are STRONGLY
          recommended to use some kind of firewall rules.
1 - STANDALONE: Appropriate for a basic stand-alone web-surfing workstation
2 - MASQUERADE: Appropriate for a machine acting as an Internet gateway
                for a LAN
Choose a type of firewall (0-2): 0
防火墙选项。这里提供的防火墙可以给你提供基本的安全保护。我不推荐你使用——你最好选择“NONE”选项。无论是什么样的用户使用,我都建议你使用额外的工具来配置防火墙规则。

Start this connection at boot time

Do you want to start this connection at boot time?
Please enter no or yes (default no):yes
是否在开机时,打开这个连接?

** Summary of what you entered **

Ethernet Interface: eth0
User name:          wndlxm002
Activate-on-demand: No
Primary DNS:        61.134.1.5
Secondary DNS:      218.30.19.40
Firewalling:        NONE
User Control:       yes
Accept these settings and adjust configuration files (y/n)? y

所有的配置信息填写完成之后,系统将给出一个报告,完整的显示出你输入的配置信息。如果,你确信你输入的配置信息是正确的,输入yes写入配置文件。输入no放弃配置。


Adjusting /etc/sysconfig/network-scripts/ifcfg-ppp0
Adjusting /etc/resolv.conf
Adjusting /etc/ppp/chap-secrets and /etc/ppp/pap-secrets
(But first backing it up to /etc/ppp/chap-secrets.bak)
(But first backing it up to /etc/ppp/pap-secrets.bak)

Congratulations, it should be all set up!

Type '/sbin/ifup ppp0' to bring up your xDSL link and '/sbin/ifdown ppp0'
to bring it down.
Type '/sbin/adsl-status /etc/sysconfig/network-scripts/ifcfg-ppp0'
to see the link status.

[root@centos sbin]# adsl-status 设置完成后我们看看adsl状态
adsl-status: Link is down (can't read pppoe PID file /var/run/pppoe-adsl.pid.pppoe)

[root@centos sbin]# adsl-start 开始adsl
[root@centos sbin]# ifconfig   显示ip信息
eth0      Link encap:Ethernet HWaddr 00:0C:29:B5:F2:92
          inet addr:192.168.11.108 Bcast:192.168.11.255 Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:feb5:f292/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
          RX packets:2565 errors:0 dropped:0 overruns:0 frame:0
          TX packets:181 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:226865 (221.5 KiB) TX bytes:16026 (15.6 KiB)
          Interrupt:67 Base address:0x2000

lo        Link encap:Local Loopback
          inet addr:127.0.0.1 Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING MTU:16436 Metric:1
          RX packets:1161 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1161 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:1975492 (1.8 MiB) TX bytes:1975492 (1.8 MiB)

ppp0      Link encap:Point-to-Point Protocol
          inet addr:10.10.2.115 P-t-P:10.10.4.230 Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1480 Metric:1
          RX packets:5 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:54 (54.0 b) TX bytes:40 (40.0 b)



你可能感兴趣的:(linux,网络,centos,internet,interface,DNS服务器)