linux网络设置
- 内容摘要
- 一.linux网络设置
- 二.linux时间和日期设置
- 三.linux语系设置
- 四.linux防火墙设置
总之,在设定网络服务器之前,必须要先理解网络的基础知识!
网络安全也必须是系统管理员要时刻关注的问题!
但这里的网络介绍仅止于当你是一部单机的 Linux 客户端,而非服务器! 所以你的各项网络参数只要找到网络管理员, 或者是找到你的 ISP (Internet Service Provider), 向他询问网络参数的取得方式以及实际的网络参数即可。
通常网络参数的取得方式常见的有底下这几种: 手动设定固定 IP 常见于学术网络的服务器设定、公司行号内的特定座位等。
这种方式你必须要取得底下的几个参数才能够让你的 Linux 上网的:
IP网络参数可自动取得 (dhcp协议自动取得) 常见于 IP 分享器后端的主机,或者是利用电视线路的缆在线网 (cable modem),或者是学校宿舍的网络环境等。 这种网络参数取得方式就被称为 dhcp ,你啥事都不需要知道,只要知道设定上网方式为 dhcp 即可。
子网掩码(netmask)
通讯闸(gateway)
DNS 主机的 IP (通常会有两个,若记不住的话,硬背 168.95.1.1 即可)
光纤与ADSL宽带拨接
不论你的 IP 是固定的还是每次拨接都不相同 (被称为浮动式 IP),只要是透过光纤到府或宽带调制解调器拨接上网的,就是使用这种方式。 拨接上网虽然还是使用网络卡连接到调制解调器上,不过,系统最终会产生一个替代调制解调器的网络接口 (ppp0) , 那个 ppp0 也是一个实体网络接口啦!
调制解调器内部已经涵盖了 IP分享与自动拨接功能, 因此,其实你在调制解调器后面也还是只需要自动取得 IP的方式来取得网络参数即可喔!
了解了网络参数的取得方法后,你还得要知道一下我们透过啥硬件连上 Internet 的呢?其实就是网络卡嘛。 目前的主流网卡为使用以太网络协议所开发出来的以太网卡 (Ethernet),因此我们 Linux 就称呼这种网络接口为 ethN (N 为数字)。 举例来说,的这部测试机上面有一张以太网卡,因此鸟哥这部主机的网络接口就是 eth0 啰 (第一张为 0 号开始)。
不过新的 CentOS 7 开始对于网卡的编号则有另一套规则,网卡的界面代号现在与网卡的来源有关~ 基本上的网卡名称会是这样分类的:
eno1 :代表由主板 BIOS 内建的网卡
ens1 :代表由主板 BIOS 内建的 PCI-E 界面的网卡
enp2s0 :代表 PCI-E 界面的独立网卡,可能有多个插孔,因此会有 s0, s1... 的编号~
eth0 :如果上述的名称都不适用,就回到原本的预设网卡编号
其实不管什么网卡名称啦!想要知道你有多少网卡,直接下达 ifconfig -a 全部列出来即可!此 外,CentOS 7 也希望我们不要手动修改配置文件, 直接使用所谓的 nmcli 这个指令来设定网络参 数即可~因为的测试机器是虚拟机,所以上述的网卡代号只有 eth0 能够支持~ 你得要自己看自己的系统上面的网卡代号才行喔!
手动设定IP网络参数
假设你已经向你的 ISP 取得你的网络参数,基本上的网络参数需要这些数据的:
method: manual (手动设定)
IP: 172.16.1.1 netmask: 255.255.0.0 gateway: 172.16.200.254 DNS: 172.16.200.254 hostname: study.centos.vbird上面的数据除了 hostname 是可以暂时不理会的之外,如果你要上网,就得要有上面的这些数据才行啊! 然后透过 nmcli 来处理! 你得要先知道的是,nmcli 是透过一个名为联机代号的名称来设定是否要上网, 而每个联机代号会有个网卡代号, 这两个东西通常设定成相同就是了。
nmcli命令需要开启NetworkManager服务。 那就来先查查看目前系统上默认有什么联机代号吧!
[root@study ~]# nmcli connection show [网卡代号] [root@study ~]# nmcli connection show NAME UUID TYPE DEVICE Wired connection 1 0c9745ec-fe49-3138-ba7a-237ae4e07699 ethernet enp0s3# NAME 就是联机代号,通常与后面的网卡 DEVICE 会一样!
# UUID 这个是特殊的装置识别,保留就好不要理他!
# TYPE 就是网卡的类型,通常就是以太网卡!
# DEVICE 当然就是网卡名称啰!
# 从上面我们会知道有个 eth0 的联机代号,那么来查察这个联机代号的设定为何?
[root@study ~]# nmcli connection show eth0 connection.id: eth0 connection.uuid: 505a7445-2aac-45c8-92df-dc10317cec22 connection.interface-name: eth0 connection.type: 802-3-ethernet connection.autoconnect: yes .....(中间省略)..... ipv4.method: manual ipv4.dns: ipv4.dns-search: ipv4.addresses: 192.168.1.100/24 ipv4.gateway: -- .....(中间省略)..... IP4.ADDRESS[1]: 192.168.1.100/24 IP4.GATEWAY: IP6.ADDRESS[1]: fe80::5054:ff:fedf:e174/64 IP6.GATEWAY:如上表的输出,最底下的大写的 IP4, IP6 指的是目前的实际使用的网络参数,最上面的 connection 开头的部份则指的是联机的状态! 比较重要的参数将它列出来如下:
connection.autoconnect [yes|no] :是否于开机时启动这个联机,预设通常是 yes 才对!
ipv4.method [auto|manual] :自动还是手动设定网络参数的意思
ipv4.dns [dns_server_ip] :就是填写 DNS 的 IP 地址~
ipv4.addresses [IP/Netmask] :就是 IP 与 netmask 的集合,中间用斜线 / 来隔开~
ipv4.gateway [gw_ip] :就是 gateway 的 IP 地址!
所以,根据上面的设定项目,我们来将网络参数设定好吧!
[root@study ~]# nmcli connection modify eth0 \ > connection.autoconnect yes \ > ipv4.method manual \ > ipv4.addresses 172.16.1.1/16 \ > ipv4.gateway 172.16.200.254 \ > ipv4.dns 172.16.200.254# 上面只是修改了配置文件而已,要实际生效还得要启动 (up) 这个 eth0 联机界面才行喔!
[root@study ~]# nmcli connection up eth0 [root@study ~]# nmcli connection show eth0 .....(前面省略)..... IP4.ADDRESS[1]: 172.16.1.1/16 IP4.GATEWAY: 172.16.200.254 IP4.DNS[1]: 172.16.200.254 IP6.ADDRESS[1]: fe80::5054:ff:fedf:e174/64 IP6.GATEWAY:最终执行 nmcli connection show eth0 然后看最下方,是否为正确的设定值呢?如果是的话,那 就万事 OK 啦!
自动取得 IP 参数
如果你的网络是由自动取得的 DHCP 协议所分配的,那就太棒了!上述的所有功能你通通不需要 背~只需要知道 ipv4.method 那个项目填成 auto 即可!
所以来查察,如果变成自动取得,网络设 定要如何处理呢?
[root@study ~]# nmcli connection modify eth0 \ > connection.autoconnect yes \ > ipv4.method auto [root@study ~]# nmcli connection up eth0 [root@study ~]# nmcli connection show eth0 IP4.ADDRESS[1]: 172.16.2.76/16 IP4.ADDRESS[2]: 172.16.1.1/16 IP4.GATEWAY: 172.16.200.254 IP4.DNS[1]: 172.16.200.254自动取得 IP 要简单太多了!同时下达 modify 之后,整个配置文件就写入了!因此你无须使用 vim 去重新改写与设定! 是认为, nmcli 确实不错用喔!另外,上面的参数中,那个 connection..., ipv4... 等等的,你也可以使用 [tab] 去呼叫出来喔! 也就是说, nmcli 有支持 bash-complete 的功 能,所以指令下达也很方便的!
显示和修改主机名
回到顶部[root@study ~]# hostnamectl [set-hostname 主机名]显示主机名与相关信息:
[root@study ~]# hostnamectl Static hostname: peter-initroot Icon name: computer-vm Chassis: vm Machine ID: 82929df7ee394b73b81252fe3b4e5020 Boot ID: 3bbb6c089a7c486baadc048bd40b0ad5 Virtualization: oracle Operating System: Linux Mint 19.1 Kernel: Linux 4.15.0-65-generic Architecture: x86-64hostnamectl命令除了可以显示主机名外,也可以显示系统的相关信息,包括操作系统版本,内核版本,cpu处理器架构,机器ID等。 而hostname命令只是简单的显示主机名:
[root@study ~]# hostname peter-initroot将主机名修改为www.initroot.com:
[root@study ~]# hostnamectl set-hostname www.initroot.com [root@study ~]# cat /etc/hostname www.initroot.com再修改回去:
[root@study ~]# hostnamectl set-hostname peter-initroot
本文由initroot编辑整理,转载请注明www.initroot.com
100次点赞
100次阅读