Linux 连接 Internet

简介: 本文根据《鸟哥的Linux私房菜-服务器架设篇》第四章总结

Linux 连接 Internet 前的注意事项

想要连接 Internet 需要配置一组合法的 IP 参数,主要是 IP、Netmask、Gateway、DNS IP 以及主机名称,其实整个主机最重要的配置就是“先要驱动网卡”,否则主机连网卡都识别不到,再怎么配置 IP 参数都没用。一个主机是可以有多个网卡的,每个网卡都有单独的 MAC 地址。

Linux 的网卡

  • 认识网卡设备的名称

在 Linux 系统中,各种设备几乎都是以文件名来表示的。不过网卡(Network Interface Card, NIC)的名称却是以网卡内核模块对应的设备名称来表示的,而默认的网卡名称为 eth0,第二张网卡则为 eth1,以此类推(不同的网卡默认网卡名称可能会不同,可以修改)

  • 关于网卡的内核模块(驱动程序)

网卡是硬件,因此需要内核的支持才能驱动它。目前新版的 Linux distributions 默认可以支持的网卡芯片已经很完备了,如果网卡太新了或者需要一些特殊功能,可以通过以下两种方式让内核支持该网卡。

  • 重新编译内核
  • 编译网卡的内核模块
    这两种方法都比较麻烦,而且更新内核的时候需要重新手动编译该模块
  • 观察内核所捕捉到的网卡信息

如果你的主机已经安装好了网卡,可以用 一下命令查看网卡信息。

# 查看 Linux 内核中网络接口的网络参数
ifconfig
# 查看网卡信息
dmesg | grep -in eth
# 查询相关的设备芯片数据
lspci | grep -i ethernet

(注意:本人用的联想笔记本电脑,连接的无线网,以下截图和不同电脑可能会有所出入)

  • 观察网卡的模块

根据上图,我们可以看到该网卡的模块为 alx

# 查看网卡是否顺利加载
lsmod | grep alx
# 查看模块信息
modinfo alx

编译网卡驱动程序

如果没有特殊需求,不建议自己个编译网卡的驱动程序,更新内核需要重新编译网卡驱动程序,很麻烦。一下为简要步骤:

  • 取得官方网站的驱动程序
  • 解压缩与编译
  • 模块的测试与处理
# 删除旧模块
remod alx
# 加载新模块,查阅信息
modprobe alx
modinfo alx
  • 设定开机自动启动网卡模块
# 编辑文件
vim /etc/modprobe.d/ether.conf
# 写入内容
alias eth0 alx
# 同步,重启
sync; reboot
  • 尝试配置 IP
ifconfig eth0 192.168.1.100
ifconfig
# 设置好了之后可以 ping 一下网络内的其他计算机,看是否有相应

Linux 网络相关配置文件

所需网络参数 | 主机配置文件名 | 重要参数

  • IP
    Netmask
    DHCP
    Gateway
    /etc/sysconfig/net-work-scripts/ifcfg-eth0 DEVICE=网卡名称
    BOOTPROTO=是否使用 dhcp
    HWADDR=是否加入网卡 MAC 地址
    IPADDR=IP 地址
    NETMASK=子网掩码
    ONBOOT=要不要默认启动此接口
    GATEWAY=网关地址

主机名 |/etc/sysconfig/network | NETWORKING=要不要使用网络
NETWORKING_IPV6=是否支持IPv6
HOSTNAME=主机名
DNS IP |/etc/resolv.conf | Name Server DNS 的 IP 地址
私有 IP 对应的主机名 |/etc/hosts | 私有主机名 别名

网络方面的启动命令

# 重启整个网络,两个命令效果一样
/etc/init.d/network restart
service network restart
# 启动或关闭网络接口
ifup eth0
ifdown eth0

连接 Internet 的设置方法

连接网络因特网的方法本文就不介绍了,下文只介绍网络的配置

网络配置文件

从上文中我们得知 IP 相关参数配置在 /etc/sysconfig/net-work-scripts/ifcfg-eth0 里,ifcfg-eth0是配置文件,不同电脑、配置会有不同的文件及文件名,以下是文件内的配置

# ==============以下是 基础配置==============
HWADDR=08:00:27:71:85:BD
# 网卡  MAC 地址,若只有一张网卡,可省略
TYPE=Ethernet
# 网络类型,有线还是无线 Ethernet|Wireless
PROXY_METHOD=none
# 代理方式:关闭状态
BROWSER_ONLY=no
# 只是浏览器:否
BOOTPROTO=dhcp
# 网卡的引导协议:如果手动配置可以设置为 static|none,如果自动分配 IP ,设置为 dhcp
DEFROUTE=yes
# # 默认路由:是
IPV4_FAILURE_FATAL=no
# 是不开启IPV4致命错误检测:否
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
# 以上为 IPV6 相关
NAME=enp2s0
# 网卡物理设备名称
UUID=b35c2XXX-XXXX-XXXX-8eXX-b03b52XXXXXXX
# 通用唯一识别码, 每一个网卡都会有, 不能重复, 否两台linux只有一台网卡可用
DEVICE=enp2s0
# 网卡设备名称, 必须和 `NAME` 值一样
ONBOOT=yes
# 是否开机启动
# ==============以下是 无线网络配置(以 基础配置 为基础)==============
ESSID=lalalademaxiya
# 无线网络名称
MODE=Managed
# 无线网模式
KEY_MGMT=WPA-PSK
# 加密方式
SECURITYMODE=open
MAC_ADDRESS_RANDOMIZATION=default
TYPE=Wireless
# ==============以下是 固定 IP 配置(以 基础配置 为基础)==============
BOOTPROTO=static
IPADDR=192.168.0.81
# IP
GATEWAY=192.168.0.1
# 默认路由
NETMASK=255.255.255.0
# 子网掩码
DNS1=192.168.0.1

在 /etc/resolv.conf 配置 DNS,如下:

vim /etc/resolv.conf
nameserver 202.96.199.133

主机名的修改、启动、与查看

vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=www.centos.test

vim /etc/hosts
192.168.1.100 www.centos.test
如果修改主机名(和配置虚拟主机稍有不同)需要修改以上两个文件,重启之后生效。
查看主机名命令:hostname

ADSL 拨号上网(使用 ADSL 拨号以及光纤接入)

本人目前因为某些原因只能用无线上网,因此该小结只做简单介绍,以后有条件再补充该内容

要拨号上网,可以使用 rp-pppoe 软件管理,一般 Linux 图形界面会有安装,如果没有需要自行手动安装

无线网络 -- 以笔记本电脑为例

如果电脑需要使用无线网,则该电脑需要安装有“无线网卡”,也可以用 USB 无线网卡 等连接。

无线网络所需要的硬件:AP、无线网卡

在有线连接中,局域网一般用 Switch/Hub l连接所有的网络设备,在 无线网络中,也需要一个接受信号的设备,就是无线接入点(Wireless Access Point,简称 AP)。关于无线接入点的设备,就是我们所谓的“路由器”

关于 AP 的设置:网络安全方面

有没有一个好邻居,就看他家无线网有没有密码。其实这是很不安全的,因为如果AP不设置任何连接限制,那么任何可以连接无线网的设备都能连接到这个无线网,容易被一些不安分的人控制。因此我们需要对 AP 进行一些连接控制,如下:

  • 在 AP 上面使用网卡卡号(MAC)来作为是否可以访问 AP 的限制
  • 设置你的 AP 连接加密机制与秘钥
  • 设置 AP隔离,这样连接在同一无线网内的主机会被禁止互相访问,可以很好地保护其中不同用户的数据
  • 更多设置通过购买的路由器官方查看

利用无线网卡开始链接

详细查看https://segmentfault.com/a/1190000011579147

相关文章
|
4月前
|
监控 网络协议 Linux
在Linux中,如何查看某个网卡是否连接着交换机?
在Linux中,如何查看某个网卡是否连接着交换机?
|
2月前
|
Linux 网络安全
Linux虚拟机与主机和Xshell的连接问题解决
Linux虚拟机与主机和Xshell的连接问题解决
82 1
|
3月前
|
NoSQL Linux Redis
linux安装单机版redis详细步骤,及python连接redis案例
这篇文章提供了在Linux系统中安装单机版Redis的详细步骤,并展示了如何配置Redis为systemctl启动,以及使用Python连接Redis进行数据操作的案例。
76 2
|
3月前
|
Unix Linux 网络安全
python中连接linux好用的模块paramiko(附带案例)
该文章详细介绍了如何使用Python的Paramiko模块来连接Linux服务器,包括安装配置及通过密码或密钥进行身份验证的示例。
102 1
|
2月前
|
关系型数据库 MySQL Linux
Navicat 连接 Windows、Linux系统下的MySQL 各种错误,修改密码。
使用Navicat连接Windows和Linux系统下的MySQL时可能遇到的四种错误及其解决方法,包括错误代码2003、1045和2013,以及如何修改MySQL密码。
232 0
|
3月前
|
Linux Python
Linux之centos安装clinkhouse以及python如何连接
Linux之centos安装clinkhouse以及python如何连接
|
4月前
|
Ubuntu Linux 开发工具
【事件中心 Azure Event Hub】在Linux环境中(Ubuntu)安装Logstash的简易步骤及配置连接到Event Hub
【事件中心 Azure Event Hub】在Linux环境中(Ubuntu)安装Logstash的简易步骤及配置连接到Event Hub
|
4月前
|
移动开发 监控 网络协议
在Linux中,如何查看 http 的并发请求数与其 TCP 连接状态?
在Linux中,如何查看 http 的并发请求数与其 TCP 连接状态?
|
4月前
|
Ubuntu Linux 网络安全
在Linux中,如何配置VPN连接?
在Linux中,如何配置VPN连接?
|
4月前
|
缓存 负载均衡 网络协议
Linux的TCP连接数量与百万千万并发应对策略
【8月更文挑战第15天】在Linux系统中,关于TCP连接数量的一个常见误解是认为其最大不能超过65535个。这一数字实际上是TCP端口号的上限,而非TCP连接数的直接限制。实际上,Linux服务器能够处理的TCP连接数远远超过这一数字,关键在于理解TCP连接的标识方式、系统配置优化以及应用架构设计。
519 2