Linux网络配置
一、网络基础
1.ISO/OSI七层模型 (网络协议出现之前设计的模型)
2.TCP/IP 四层模型(网络协议出现之后形成的模型)
TCP更安全(需要回应,如有错误要求重发) UDP更快(发了就不管了)
3.IP地址
三类IP 公网IP地址是唯一
网络类别 | 最大网络数 | IP地址范围 | 最大主机数 | 私有IP地址范围 |
---|---|---|---|---|
A | 126 | 1.0.0.0-126.255.255.255 | 2^24-2 | 10.0.0.0-10.255.255.255 |
B | 16384 | 128.0.0.0-191.255.255.255 | 2^16-2 | 172.16.0.0-172.31.255.255 |
C | 2097152 | 192.0.0.0-223.255.255.255 | 2^8-2 | 192.168.0.0-192.168.255.255 |
1.255.255.255代表当前网络广播地址
1.0.0.0代表网络本身,不能分配
(255.255.255.255 转换为二进制 11111111.11111111.11111111.11111111)
4.子网掩码
A类网络子网掩码 (只要前面这个数一样就属于同一网段)
IP Address (例子) | 10. | 1.1.200 |
---|---|---|
Subnet Mask (默认的子网掩码) | 255. | 0.0.0 |
Network ID | 10. | 0.0.0 |
B类网络子网掩码
IP Address | 172.16. | 1.200 |
---|---|---|
Subnet Mask (默认的子网掩码) | 255.255. | 0.0 |
Network ID | 172.16 | 0.0 |
C类网络子网掩码
IP Address | 192.168.1. | 200 |
---|---|---|
Subnet Mask (默认的子网掩码) | 255.255.255. | 0 |
Network ID | 192.168.1. | 0 |
计算方法:用 IP 和 子网掩码 进行 逻辑与
例:
网络位 | 网络位 | 子网位 | 主机位 | |
---|---|---|---|---|
10101100 | 00010000 | 00000010 | 01111001 | 172.16.2.121 |
11111111 | 11111111 | 11111111 | 00000000 | 255.255.255.0(非默认掩码) |
10101100 | 00010000 | 00000010 | 00000000 | 172.16.2.0(网络地址) |
主机地址 = 172.16.2.1-172.16.2.254
广播地址 = 172.16.2.255
若掩码设置成255.255.255.0 那么只要前三位一样就属于同一网段,
子网掩码也可以设置成11111111.11111111.11111100.00000000 换成十进制就好了,
这样IP和子网掩码与出来的网络地址相同的就属于同一网段。
5.端口作用
IP比做门牌号的话端口就可以比做成收件人。
每个服务都有对应的端口号,收到数据包把IP包头拆去后要把数据包提供给不同的服务进行对应的处理 。
查看端口 netstat -an
6.DNS作用
互联网中用IP地址来进行通信
记IP太难,就用域名来记(http://www.baidu.com/)
Hosts 文件中也可以自己打 IP--域名 优先查看Hosts再去问DNS服务器
DNS就是用来翻译域名和IP的服务 互联网中域名是唯一的
www. | imooc | .com |
---|---|---|
主机名(可随意起,网站一般用www) | 二级域 (baidu、sina之类) | 顶级域(edu、gov、com、org、mil、cn)其中包括国家域组织域 |
组织域 | 说明 | 国家或地区域 | 说明 |
---|---|---|---|
gov | 政府部门 | cn | 中国 |
com | 商业部门 | jp | 日本 |
edu | 教育部门 | uk | 英国 |
org | 民间团体组织 | au | 澳大利亚 |
net | 网络服务机构 | hk | 中国香港 |
mil | 军事部门 |
网络配置中DNS设置成本地的域名服务器
7.网关作用
- 网关(Gateway)又称网间连接器、协议转换器。
- 网关在网络层以上实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。
- 网关既可以用于广域网互连,也可以用于局域网互连。
- 网关是一种充当转换重任的服务器或路由器。
- 网关连接着外网和内网
- 交换机在局域网内进行数据交换,只能识别物理地址。路由器能在不同网段进行数据交换。
- 内网IP可以随意配,网关IP不能随便配。内网和内网通信可以不经过网关,和外网通信必须经过网关。
- #网关和DNS不能随便配,配错会上不了网。
二、Linux网络配置
ifconfig eth0 [IP] netmask 255.255.255.0 //临时修改IP和子网掩码
#重启后变回来
如果本地有DHCP服务器,可以自动分配IP和DNS之类的,可以不用手动配置。
通过配置文件修改:
*** Linuxmint 中不一样 *** vi /etc/sysconfig/network-scripts/ifcfg-eth0 //配置网卡 vi /etc/sysconfig/network //修改本机hostname vi /etc/resolv.conf //DNS配置文件
cd /etc/NetworkManager //Linuxmint中好像在这个文件夹下 vi /etc/network/interfaces //mint中的网卡配置文件 vi /etc/iftab //网卡MAC地址 vi /etc/hosts //主机列表 vi /etc/hostname //主机名 vi /etc/resolv.conf //DNS #它提示不要手动改 cd /etc/udev/rules.d/ //网络接口 目录下有readme
service network restart //重启网络服务 sudo service network-manager restart //mint下 上面那条命令好像不行
虚拟机的网络配置:
1.若拷贝的镜像虚拟机,可能会导致UUID冲突。
解决办法:在网卡配置文件中删除MAC行(HWADDR),
然后 rm -rf /etc/udev/rules.d/70-persistent-net.rules (删除网卡和MAC地址绑定文件)
然后重启系统
2.虚拟机网络配置中,Net 只能与本机连接,不能与局域网中其他机子连接,能连外网。
Host-only 只与本机连接,不能联网,局域网外网都不行。
桥接模式 把虚拟机接入局域网,当成一台真正的机子。
Linux图形界面修改网络配置不做说明。
三、Linux网络命令
1.网络状态查看命令
ifconfig
# 查看与配置网络状态命令
# 可看到 IP 与 子网掩码 和正在使用的网卡
ifup 网卡设备名 ifdown 网卡设备名
# 开/关网卡
netstat -tuln netstat -an // 一般用这两种方式
# 查询网络状态、查看端口
# -t 列出TCP协议端口
-u 列出UDP协议端口
-n 不使用域名与服务名,而使用IP地址和端口号
-l 仅列出在监听状态的网络服务
-a 列出所有的网络连接
-r 列出路由列表
netstat -rn route -n //两个一样
# 列出路由列表(可看到网关)
route add(del) default gw [IP]
# 临时添加(删除)网关
nslookup [域名或IP] nslookup >server //查看当前设置的DNS >exit //用于退出
# 解析域名与IP (DNS)
2.网络测试命令
ping [IP] //都懂的
选项: -c 次数
telnet [IP] [端口号]
# 探测端口是否开放,如果开放,无反应,如果没开放会提示连不上。
traceroute [选项] [IP]
# 路由跟踪命令 选项:-n 使用IP,不用域名,速度更快
wget http://soft.vpser.net/lnmp/lnmp1.1-full.tar.gz //例子
#下载命令
tcpdump -i eth0 -nnX port 21 [网卡] [端口]
# 抓包命令 选项:-i 指定网卡 -nn 将域名.服务转为端口 -X以十六进制和ASCII码显示包内容
port 指定监听端口
四、远程登录工具
- SSH协议原理
- 每个电脑都有自己的 公钥(锁) 和 私钥(钥匙)(钥匙)
- 用 公钥A 和 公钥B 加密一个文件
- 电脑A 把加密的文件发送给 电脑B
- 电脑B 收到文件后用自己的 私钥B 解密文件(当然用私钥A也可以解开该文件)
- SSH命令
sudo apt-get install openssh-client //安装 openssh-clinent sudo apt-get install openssh-server //安装 openssh-server
ssh 用户名@IP [-p] //选项: -p 指定端口 (若端口改变)
# 用于远程管理指定Linux服务器
# 要改变端口号,我们需要修改 /etc/ssh/ssh_config 文件,找到此行:
Port 22
把它换成其他的端口号,比如 1234 端口,然后重启 SSH 。
scp [-r] 用户名@IP:文件路径 本地路径
# 下载文件(目录加-r)
scp [-r] 本地文件 用户名@IP:上传文件路径
# 上传文件(目录加-r)
- Xshell 远程登录工具 (使用ssh协议的工具)
- WinSCP 用于Windows和Linux之间传输文件 (使用ssh协议) (使用简单,在此不做说明)
学习整理自慕课网
爱慕课视频: