Linux连接Internet

时间:2023-03-09 07:39:12
Linux连接Internet

Linux连接Internet

1. Linux网卡
1.1 查看内核所扑捉到的网卡信息(已经安装到服务器并且被Linux内核识别的网卡)
[root@www ~]# dmesg | grep -in eth
377:e1000: eth0: e1000_probe: Intel(R) PRO/1000 Network Connection 
383:e1000: eth1: e1000_probe: Intel(R) PRO/1000 Network Connection 
418:e1000: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX 
419:eth0: no IPv6 routers present
从上面的第 377 及 383 这两行,我们可以查到这部主机的两张网络卡都使用模块为 e1000,而使用的芯片是 Intel 的网卡。此外这个网卡的速度可达到 1000Mbps 的全双工模式(418行)。
[root@www ~]# lsmod | grep 1000
e1000                             119381  0    <==确实已经加载到内核中
  
[root@www ~]# modinfo e1000
filename:    /lib/modules/2.6.32-71.29.1.el6.x86_64/kernel/drivers/net/e1000/e1000.ko
version:    7.3.21-k6-NAPI
license:    GPL
description: Intel(R) PRO/1000 Network Driver
.....(以下省略).....
(filename) 的部分就是我们驱动程序放置的主要目录,2.6.32-71.29.1.el6.x86_64 是核心版本。

1.2 Linux IP地址配置
#手动配置IP地址
[root@www ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 
DEVICE=eth0                   <==接口名称
HWADDR=08:00:27:71:85:BD      <==网卡MAC地址
ONBOOT=yes                    <==是否开机启动
BOOTPROTO=static              <==取得 IP 的方式,static静态分配
IPADDR=192.168.1.100          <== IP地址
NETMASK=255.255.255.0         <==子网掩码 
GATEWAY=192.168.1.254         <==网关
[root@www ~]#service network restart

#配置DHCP自动获取IP地址
[root@www ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 
DEVICE=eth0
HWADDR=08:00:27:71:85:BD
ONBOOT=yes
BOOTPROTO=dhcp    <==dhcp自动获取
[root@www ~]#service network restart

1.3 DNS服务器设置
[root@www ~]# vim /etc/resolv.conf 
nameserver 114.114.114.114
nameserver 8.8.8.8

1.4  修改主机名
修改主机名就得要改 /etc/sysconfig/network 以及 /etc/hosts 这两个文件
[root@www ~]# vim /etc/sysconfig/network 
NETWORKING=yes
HOSTNAME=www.centos.vbird
[root@www ~]# vim /etc/hosts 
192.168.1.100    www.centos.vbird
# 特别注意这个文件的原本内容不要删除,只要新增额外的数据即可
[root@www ~]#reboot   <==修改完主机名需要重启电脑生效


2.  设置ADSL拨号上网
2.1 安装rp-pppoe 拨号软件
要拨号上网时,可以使用 rp-pppoe 这套软件。先要确认Linux系统上有没有安装,没有安装就使用 yum 来进行安装。
官方下载地址:
•    http://www.roaringpenguin.com/pppoe/
•    http://freshmeat.net/projects/rp-pppoe/
[root@www ~]# rpm -q rp-pppoe   <==查看系统有没有安装rp-pppoe
rp-pppoe-3.10-8.el6.x86_64     <==已经安装
rpm包安装方式:
[root@www ~]# mount /dev/cdrom /mnt 
[root@www ~]# cd /mnt/Packages 
[root@www ~]# rpm -ivh rp-pppoe* ppp* 
yum安装方式:
[root@www ~]# yum -y install rp-pppoe* ppp*
rp-pppoe 使用的是 Point to Point (ppp) over Ethernet 的点对点协议所产生的网络接口,因此当拨号成功之后会多出一个实体网络接口 ppp0
拨接成功后就会有:
•    内部循环测试用的 lo 接口;
•    网络卡 eth0 这个接口;
•    拨接之后产生的经由 ISP 对外连接的 ppp0 接口。

#虽然 ppp0 是架构在以太网卡上面的,但这三个接口在使用上是完全独立的, 互不干扰。所以关于 eth0 的使用上,可以这样思考:
■    这张网卡 (假设是 eth0) 有接内部网络(LAN):
也就是说ppp0 可以连上 Internet ,但是内网则使用 eth0 来跟其他内部主机联机时, 那么eth0网卡应该要给一个私网IP以使内部的LAN也可以通过eth0来进行连接。设定如下:
[root@www ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 
DEVICE=eth0
BOOTPROTO=static 
IPADDR=192.168.1.1
NETMASK=255.255.255.0
ONBOOT=yes
注意千万不要设置默认网关GATEWAY , 因为 ppp0 拨号成功后ISP会主动的给予 ppp0 接口一个可以连上 Internet 的默认网关, 如果又设定另一个默认网关的话两个网关可能会造成冲突导致网络不通。
■    这部主机仅有连接 ADSL 调制解调器,并没有内部网络:
如果这部 Linux 主机是直接连接到 ADSL 调制解调器上头,并没有任何内部主机与其联机,也就是说eth0有没有IP都没有关系时,那么上面的设定当中的那个ONBOOT=yes 直接改成ONBOOT=no 就好了。因为你拨号启动ppp0时系统会主动的唤醒eth0,只是eth0不会有IP信息就是了。

2.2 设置拨号的账号与密码
[root@www ~]# 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    (填写从ISP处取得的账号)
Enter your Login Name (default root): T1234567
# 注意这个账号名称是 ISP 分配的
  
INTERFACE    (ADSL 调制解调器所接的网卡代号)
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): eth0
  
Enter the demand value (default no): no
  
DNS    (填写ISP分配的 DNS) 
Enter the DNS information here: 168.95.1.1
Enter the secondary DNS server address here:     <==若无第二台就按 enter
  
PASSWORD    (从 ISP 取得的密码)
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): no
  
FIREWALLING    (防火墙方面,先取消,稍后我们根据需求自己定义) 
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):yes
  
** Summary of what you entered ** 
Ethernet Interface: eth0
User name:    T1234567 
Activate-on-demand: No  
Primary DNS:    168.95.1.1
Firewalling:    NONE
User Control:    no
Accept these settings and adjust configuration files (y/n)? y 
Adjusting /etc/sysconfig/network-scripts/ifcfg-ppp0  
Adjusting /etc/resolv.conf
    (But first backing it up to /etc/resolv.conf.bak)
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)
# 上面具有特殊字体的文件主要功能是:
# ifcfg-ppp0    :即是 ppp0 这个网卡的配置文件;
# resolv.conf :这个档文件会被备份后,然后以刚刚我们上面输入的 DNS 数据取代;
# pap-secrets, chap-secrets:我们输入的密码就放在这里

2.3 启动拨号上网
启动 ADSL 的方法很多,通常都是使用 /etc/init.d/network restart 即可处理。不过如果发生一些不明的错误, 也可以使用 pppoe-stop 关闭后再以 pppoe-start 立即启动拨接试看看。 通常如果使用ADSL调制调解器(ATU-R)时,请使用交叉线连接网卡与ATU-R。 另外一个容易出错的地方在于输入的账号与密码, 账号与密码都是你的 ISP 给的,并且注意大小写(可以到 /etc/ppp/{chap,pap}-secrets 察看一下是否设置错误)
[root@sky ~]# /etc/init.d/network restart     <==启动拨号上网
如果报错就换下面的启动方式:
[root@sky ~]# pppoe-stop
[root@sky ~]# pppoe-start

2.4 取消拨号功能 (Option)
[root@www ~]# vim /etc/sysconfig/network-scripts/ifcfg-ppp0 
DEVICE=ppp0
ONBOOT=no
....(其他省略)....
[root@www ~]# chkconfig pppoe-server off


3. 设置无线网络连接——以笔记本为例
如果我们的笔记本安装了Linux系统,且需要使用无线网卡连接到网络中,就需要对无线网卡进行配置了。
如果笔记本本身自带有无线网卡,那就无需安装驱动直接连接无线路由或AP就可以使用了。但是如果笔记本本身没有无线网卡,使用USB外接网卡的时候就需要对网卡的驱动进行安装了。(如果使用USB外接网卡,最好购买Linux内核默认支持的网卡设备,否则安装会很困难)
3.1 检查无线网卡设备
[root@www ~]# lsusb
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 003: ID 07d1:3c0a D-Link System DWA-140 RangeBooster N Adapter(rev.B2) [Ralink RT2870]
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
# 已经检测到了这块无线网卡,不知道有没有被加载,继续往下检查
[root@www ~]# iwconfig
lo        no wireless extensions. 
eth0    no wireless extensions.
# 要出现名为 wlan0 之类的网卡才是有捉到,所以没有加载正确模块
因为没有加载正确的驱动程序,所以需要手动下载 RPM 驱动程序进行安装,安装前先将USB网卡拔出来, 然后再安装RPM软件包。
[root@www ~]# rpm -ivh kmod-rt3070sta* rt2870-firmware*
# 这个动作会进行很久,安装完毕后将USB网卡插上
[root@www ~]# iwconfig
lo        no wireless extensions. 
eth0     no wireless extensions. 
ra0       Ralink STA

3.2 利用 iwlist 搜索无线路由信号
[root@www ~]# ifconfig ra0 up    <==启动无线网卡
[root@www ~]# iwlist ra0 scan 
ra0              Scan completed :
                   Cell 01 - Address: 74:EA:3A:C9:EE:1A
                                Protocol:802.11b/g/n 
                                ESSID:"yaxin-office" 
                                Mode:Managed
                                Frequency:2.437 GHz (Channel 6) 
                                Quality=100/100    Signal level=-45 dBm    Noise level=-92 dBm
                                Encryption key:on 
                                Bit Rates:54 Mb/s 
                                IE: WPA Version 1
                                     Group Cipher : CCMP 
                                     Pairwise Ciphers (1) : CCMP
                                     Authentication Suites (1) : PSK 
                                 IE: IEEE 802.11i/WPA2 Version 1
                                     Group Cipher : CCMP 
                                     Pairwise Ciphers (1) : CCMP
                                     Authentication Suites (1) : PSK
  ....(底下省略)....
#从上面可以看到 
(1)这个无线AP的协议
(2)ESSID 的名号
(3)加密的机制是WPA2-PSK 
(4)使用的无线频道是6
#接下来就得要去修改配置文件,这部份很麻烦,请参考网页来设定:https://wiki.archlinux.org/index.php/Rt2870
[root@www ~]# ifconfig ra0 down && rmmod rt3070sta 
[root@www ~]# vim /etc/Wireless/RT2870STA/RT2870STA.dat 
Default
CountryRegion=5 
CountryRegionABand=7
CountryCode=CN    <==中国的国码代号
ChannelGeography=1
SSID=yaxin-office    <==你的无线路由名称 
NetworkType=Infra
WirelessMode=9    <==与无线 AP 支持的协议有关
Channel=6    <==与 CountryRegion 及侦测到的频道有关
....(中间省略)....
AuthMode=WPAPSK    <==我们的 AP 提供的认证模式 
EncrypType=AES    <==传送认证码的加密机制
WPAPSK="123456780aaa"    <==无线密码,最好用双引号括起来较佳
....(底下省略)....
# 实际需要修改的就是上面有特别说明的地方,其余的地方都保留默认值即可。
[root@www ~]# modprobe rt3070sta && ifconfig ra0 up 
[root@www ~]# iwconfig ra0
ra0              Ralink STA        ESSID:"vbird_tsai"    Nickname:"RT2870STA" 
                   Mode:Auto    Frequency=2.437 GHz    Access Point:74:EA:3A:C9:EE:1A
                   Bit Rate=1 Mb/s
                   RTS thr:off    Fragment thr:off 
                   Encryption key:off
                   Link Quality=100/100    Signal level:-37 dBm    Noise level:-37 dBm
                   Rx invalid nwid:0    Rx invalid crypt:0    Rx invalid frag:0 
                   Tx excessive retries:0    Invalid misc:0        Missed beacon:0
如果顺利出现上面的数据,那就表示无线网卡已经与 AP 接上线了,再来则是设定网卡的配置文件

3.3 设定网卡配置文件 (ifcfg-ethn)
因为我们的网络卡使用的代号是 ra0,所以也是需要在/etc/sysconfig/network-scripts 设定好相对应的文件才行
[root@www ~]# cd /etc/sysconfig/network-scripts 
[root@www network-scripts]# vim ifcfg-ra0 
DEVICE=ra0
BOOTPROTO=dhcp
ONBOOT=no    <== 若需要每次都自动启动,改成 yes 即可
ESSID=yaxin-office
RATE=54M    <== 可以严格指定传输的速率,要与上面 iwconfig 相同,单位b/s

3.4 启动无线网卡
[root@www ~]# ifup ra0
Determining IP information for ra0... done.
#至此无线网络应该就可以连接了!