Linux系统网络基础,网络Linux
学linux需要什么基础
一,Linux需要学习什么
1,计算机网络基础,计算机常用英语单词。
2,Linux基础命令和常用选项的含义(掌握,理解含义用法,一般为英文单词的缩写,总结常用命令打印下来随时记,补充没 ? ? ? ? ? ? ? ? 有记录的)
3,shell脚本(重点,多练习,书写格式规范)
4,服务器的搭建,和配置,管理。(熟练掌握,工作就靠这个吃饭了。)
以上为上课学习必须要学的,要练的东西。以下为完成以上的工作后要学习的东西。
1,学习计算机组成原理,计算极基础知识。(了解大概,懂原理)
2,汇编语言。(了解,懂原理)
3,现代操作系统。(掌握,理解原理,和概念性的东西)
二,你需要做什么
1,你是要学习到什么程度,按工资来说,3000 ?,6000, ?10000。学习状态对应关系,学学打打一会学习一会耍。每天认真学,跟着老师走,完成老师作业。每天认真学习,认真总结,提高效率,有自己的思考,学习其他东西,有自己的·方向和目标。
2,听课程度。不听不懂,听不懂,听懂。这里只说听懂该怎么做。1,课前预习(非常重要)2,认真听讲。3,做好笔记。(不懂的记下来,讲操作的流程图记下来。大概框架有概念)
3,笔记,作业(笔记:概念的东西,原理,有规律总结笔记,尽量简洁而细致。作业:认真完成,遇到问题记录下来,有可能以后在工作中遇得到。作业的流程图记录在笔记头)

Linux网络基础配置
linux网络基础配置linux网络基础配置以太网连接在linux中,以太网接口被命令为:eth0,
eth1等,
0,1代表网卡编号通过lspci命令可以查看网上硬件信息(如果是usb接口,则可能要用lsusb)命令ifconfig命令用来查看接口信息ifconfig
-a
查看所有接口ifconfig
eth0
查看特定接口在CentOS中可以用命令ifup,ifdown用来启用,禁用一个接口ifup
eth0,启用eth0网卡ifdown
eth0,禁用eth0网卡在ubuntu中可以用ifconfig
网卡
up,
ifconfig
网卡
down做同样的功能sudo
ifconfig
eth0
up,启用eth0网卡sudo
ifconfig
eth0
down,禁用eth0网卡配置网络信息在CentOS中可以用setup命令配置网络信息Ubuntu可用以下命令[python]
view
plaincopy#设置ip,netmask(子网掩码),broadcast(广播地址)
ifconfig
eth0
192.168.137.220
netmask
255.255.255.0
broadcast
192.168.137.255
up
#设置gateway(网关)
route
add
default
gw
192.168.137.254
网络相关配置文件以下是CentOS的配置文件位置,如果没有特殊说明Ubunt相关的配置文件,并不在同一个位置配置文件
位置网上配置文件
/etc/sysconfig/network-scripts/ifcfg-eth0DNS配置文件
/etc/resolv.conf(Ubuntu也一样)主机名配置文件
/etc/sysconfig/network静态主机名配置文件
/etc/hosts(Ubuntu也一样)网络测试命令测试网络连通性:ping
192.168.137.254ping
测试DNS解析host
显示路由表:ip
route追踪到达目标地址的网络路经
traceroute
使用mtr进行网络质量测试(结合traceroute和ping)mtr
故障排查故障排查要由底到高,由内到外先查看网络配置信息是否正确ip地址子网掩码网关DNS查看到达网关是否连通ping
网关ip地址查看DNS解析是否正常
怎么学习linux
学习Linux步骤:
1、先了解了解基础吧,找一本薄一点的,浅一点的书,了解一下什么是linux。有个基本了解即可。不建议马上看《鸟哥的Linux私房菜》,这本书很不错,如果你了解linux基础之后再看,对你可以说是不受益匪浅都不行。没基础看《鸟哥的Linux私房菜》比较痛苦,内容很多。
2、了解之后,在自己电脑上弄个虚拟机,装上linux系统(redhat或ubuntu都行)。专攻《鸟哥的Linux私房菜》。当你把这本书攻下来时,才知道原来命令行并不可怕,自己打着打着就很长啦。
学linux最主要靠实践,不实践,只看书对你没好处的哦。自己在虚拟机上慢慢玩吧,玩多了就知道咋回事啦。不懂的多找资料弄懂,弄懂之后再实践,这才会有收获。
1、Linux系统基本网络
1.1、服务器注意事项:
远程服务器不允许关机,只能重启
重启时应该先关闭服务
不要在服务器访问高峰运行高负载命令
远程配置防火墙时不要把自己踢出服务器
指定合理的密码规范并定期更新
合理分配权限
定期备份重要的数据和日志
1.2、设置网络桥接命令和(ANT模式):
systemctl restart network------重启网卡service network restart---------重启网络服务
systemctl? stop NetworkManager 临时暂停网络管理器systemctl disable NetworkManager 永久关闭网络管理器
systemctl start NetworkManager? ? ? 拥有root用户的可执行权限
systemctl stop NetworkManager? ? ? 停止并禁用虚拟机 NetworkManager 服务
systemctl disable NetworkManager
注意:修改网络配置文件后,需要重新加载网络连接,如果是通过network.service则使用命令:systemctl restart network;如果是通过NetworkManager.service则使用nmcli命令:nmcli connection reload。
设置网络主要操作(桥接模式和)
[root@localhost network-scripts]# cd etc/sysconfig/network-scripts/
[root@localhost network-scripts]# vi ifcfg-ens33
systemctl restart network------重启网卡
service network restart---------重启网络服务
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static? ? ? ? ? ? 设置静态
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=10c17057-e9c9-4831-a8ff-0757ea0abc0b
DEVICE=ens33
ONBOOT=yes? ? ? ? ? ? ? ? ? ? ? ? ? #开机重启
#IPADDR=192.168.43.168? ? ? ? ? ? ? #ip地址(需要跟主机同一个网段,不同一个IP)
IPADDR=10.63.73.20? ? ? ? ? ? ? ? ?
#NETMASK=255.255.255.0? ? ? ? ? ? ? #子网掩码(下面三个都跟主机一样)
NETMASK=255.255.0.0
#GATEWAY=192.168.43.1? ? ? ? ? ? ? #网关
GATEWAK=10.63.255.254
#GATEWAK=10.200.0.3
#DNS1=192.168.43.1? ? ? ? ? ? ? ? ? #DNS服务
设置网络主要步骤(Nat模式)
1.打开Vm,点击编辑-虚拟网络编辑
2.选择VMnet8,将VMnet信息改为NAT模式,比如我的本机IP是192.168.138.1,子网掩码为255.255.255.0
所以我将下面的IP配置成192.168.138.0 子网掩码配置成255.255.255
3.再点击NAT设置将网管配置成192.168.138.2(ps:网关不要配置成和自己IP地址一样)
然后再应用确定
4.右键点击虚拟机设置,网络适配器改为自定义(选择Vmnet8 Nat模式)
5.接下来开启虚拟机
cd /etc/sysconfig/network-scripts/
vim ifcfg-eno16777736
然后再执行命令:/etc/init.d/network restart
1.3、设置防火墙
1.3.1、防火墙命令
停止防火墙:
systemctl stop firewalld.service #停止firewall 防火墙
service? iptables stop? #(centos7版本之前)
永久关闭防火墙:
systemctl disable firewalld.service #禁止firewall开机启动 ( 永久关闭防火墙 )
chkconfig iptables off #永久关闭防火墙
开始防火墙:
systemctl start firewalld? #启动防火墙
systemctl restart iptables.service #重启防火墙使配置生效
systemctl enable iptables.service #设置防火墙开机启动(重启)
查看防火墙状态:
systemctl status firewalld
service? iptables status # (7版本之前)
1.3.2、Linux chkconfig 命令
Linux chkconfig 命令用于检查,设置系统的各种服务。
这是Red Hat公司遵循GPL规则所开发的程序,它可查询操作系统在每一个执行等级中会执行哪些系统服务,其中包括各类常驻服务。
语法
chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level 等级代号][系统服务][on/off/reset]
参数 :
--add 增加所指定的系统服务,让 chkconfig 指令得以管理它,并同时在系统启动的叙述文件内增加相关数据。
--del 删除所指定的系统服务,不再由 chkconfig 指令管理,并同时在系统启动的叙述文件内删除相关数据。
--level等级代号 指定读系统服务要在哪一个执行等级中开启或关毕。
实例
列出chkconfig 所知道的所有命令,可以用chkconfig –list查看所有的服务及其在每个级别的开启状态。
# chkconfig --list
开启服务
# chkconfig telnet on ? //开启 Telnet 服务
# chkconfig --list ? ?? //列出 chkconfig 所知道的所有的服务的情况
关闭服务
# chkconfig telnet off? // 关闭 Telnet 服务
# chkconfig --list ? ?? // 列出 chkconfig 所知道的所有的服务的情况
[root@cent01 sbin]# chkconfig --level 3 network off? //关闭3级别的network服务
[root@cent01 sbin]# chkconfig --list //3级别已关闭
network? ? ? ? 0:关 1:关 2:开 3:关 4:开 5:开 6:关
[root@cent01 sbin]# chkconfig network on //不输入级别,默认打开2,3,4,5级别
[root@cent01 sbin]# chkconfig --list
network? ? ? ? 0:关 1:关 2:开 3:开 4:开 5:开 6:关
[root@cent01 sbin]# chkconfig --del network //删除network
[root@cent01 sbin]# chkconfig --list? //network已消失
mysqld? ? ? ? ? 0:关 1:关 2:开 3:开 4:开 5:开 6:关
netconsole? ? ? 0:关 1:关 2:关 3:关 4:关 5:关 6:关
[root@cent01 sbin]# chkconfig --add network //增加network服务
[root@cent01 sbin]# chkconfig --list? //network服务又恢复了
mysqld? ? ? ? ? 0:关 1:关 2:开 3:开 4:开 5:开 6:关
netconsole? ? ? 0:关 1:关 2:关 3:关 4:关 5:关 6:关
network? ? ? ? 0:关 1:关 2:开 3:开 4:开 5:开 6:关
[root@cent01 sbin]# chkconfig --list
注:该输出结果只显示 SysV 服务,并不包含
原生 systemd 服务。SysV 配置数据
可能被原生 systemd 配置覆盖。
? ? ? 要列出 systemd 服务,请执行 'systemctl list-unit-files'。
? ? ? 查看在具体 target 启用的服务请执行
? ? ? 'systemctl list-dependencies [target]'。
mysqld? ? ? ? ? 0:关 1:关 2:开 3:开 4:开 5:开 6:关
netconsole? ? ? 0:关 1:关 2:关 3:关 4:关 5:关 6:关
注意: 但是这里只显示了SysV管理的服务,centos6及之前都是这个管理工具,但是在centos7用的是systemd管理,所以systemd管理的服务在这里没有显示出来。
运行级别为系统启动级别,具体含义如下:
0 shutdown关机
1 单用户模式
2 无NFS支持的多用户模式
3 完全多用户模式,常用的命令行模式
4 保留给用户自定义
5 图形界面登录,比3多了一个图形界面
6 重启
1.3.2、Linux systemd命令
systemd是管理开机启动程序的工具(SysV启动开机进程时一次只能启动一个,而systemd则一次可以启动多个服务,这样就导致systemd的开机速度会更快。)
[root@localhost ~]# systemctl list-units --all --type=service
? UNIT? ? ? ? ? ? ? ? ? ? ? ? ? ? LOAD? ? ? ACTIVE? SUB? ? DESCRIPTION
? abrt-ccpp.service? ? ? ? ? ? ? loaded? ? active? exited? Install ABRT coredump hook
? abrt-oops.service? ? ? ? ? ? ? loaded? ? active? running ABRT kernel log watcher
? UNIT? ? ? ? ? ? ? ? ? ? ? ? ? ? LOAD? ? ? ACTIVE? SUB? ? DESCRIPTION
[root@cent01 sbin]# ls /usr/lib/systemd/system? //启动的脚本文件目录
[root@cent01 ~]# systemctl list-units? //列出正在运行的unit
[root@cent01 ~]# systemctl list-units --all //列出所有的unit,包括active和inactive
[root@cent01 ~]# systemctl list-units --all --state=inactive //列出inactive的unit
[root@cent01 ~]# systemctl list-units --all --type=service? //列出所有状态的service
[root@cent01 ~]# systemctl list-units --type=service? //列出active的service
[root@cent01 ~]# systemctl is-active crond.service? //查看某个unit是否active
systemctl enable crond.service //开机启动 .service可以省略
systemctl disable crond.service //禁止开机启动
systemctl status crond.service? //查看服务状态
systemctl start crond.service //启动服务
systemctl stop crond.service? //停止服务
systemctl restart crond.service? //重启服务
systemctl is-enabled crond.service? //查看某个服务是否开机启动
unit /usr/lib/systemd/system 此目录下列出了很多文件,这些文件都是unit。类别如下:
service 系统服务target 多个unit组成的组device 硬件设备mount 文件系统挂载点automount 自动挂载点path 文件或路径scope 不是由systemd启动的外部进程slice 进程组snapshot systemd快照socket 进程间通信的套接字swap swap文件timer 定时器
target target类似于centos6的启动级别,target内又包含多个unit的组合,当然target内也可以包含target。启动target就是启动多个unit,用target来管理这些unit。
[root@cent01 ~]# systemctl list-units --all --type=target? //查看当前所有的target
? UNIT? ? ? ? ? ? ? ? ? ? ? LOAD? ? ? ACTIVE? SUB? ? DESCRIPTION
? basic.target? ? ? ? ? ? ? loaded? ? active? active Basic System
? bluetooth.target? ? ? ? ? loaded? ? active? active Bluetooth
[root@localhost ~]# systemctl list-dependencies multi-user.target
multi-user.target
● ├─abrt-ccpp.service
● ├─abrt-oops.service
● ├─abrt-vmcore.service
● ├─abrt-xorg.service
[root@localhost ~]# systemctl get-default? //查看系统默认的target
multi-user.target
systemctl set-default multi-user.target? //设置默认的target
multi-user.target等同于centos6的运行级别3。他们的对应关系如下:
SysV运行级别systemd target备注
0poweroff.target关闭系统
1rescure.target单用户模式
2multiuser.target用户自定义级别,通常识别为3
3multiuser.target多用户命令行模式
4multiuser.target用户自定义级别,通常识别为3
5graphical.target多用户图形界面,比级别3只多一个GUI
6reboot.target重启
所以总结起来,一个service属于一种unit,多个unit组成一个target,当然target里面也可以包含target。
1.4、ifconfig命令配置IP网络参数
格式:
[root@localhost /]#ifconfig [网络设备] [ip地址] [MAC地址] [netmask掩码地址] [broadcast广播地址(NDC)] [up/down]
[root@localhost /]#ifconfig eth0 192.168.74.130 netmask 255.255.255.0 up
用ifconfig命令配置eth0别名设备,为eth0绑定多个IP地址。
[root@localhost /]#ifconfig eth0:1 192.168.74.130
[root@localhost /]#ifconfig eth0:2 192.168.73.130
1.5、使用routedel命令添加路由
格式:
[root@localhost /]#routedel [-net|host] [网域或主机] netmask [mask] [gw]
[root@localhost /]#route #查看路由信息
功能:添加路由
-net : 表示后面接的路由为一个网络。
-host : 表示后面接的为连接到单部主机的路由。
netmask : 与网络有关,可以设定netmask决定网路的大小。
gw : gateway (网关)的简写,后面接的是ip地址。
1.6、使用hostname命令修改主机名称
[root@localhost /]#hostname service.jw.com
hostnamectl set-hostname nod1