Linux网络配置
1、ip地址
ip地址是计算机在网络中的唯一身份id ip地址=网络地址+主机地址
2、子网掩码
子网掩码划分网络区域,其非0位置对应的数字表示这个ip的网络位,0位对应的数字是ip的主机位,网络位表示网络区域,主机位表示网络区域内的某台主机
3、网络设定命令
ifconfig ##查看网络设定
ifconfig device(网卡名称) a/b/c/d类ip地址 ##设定ip地址(临时设定)
ifconfig device down ##关闭
ifconfig device up ##开启
ip addr show ##当前网络
ip addr add a/b/c/d类ip地址 dev device ##永久设定
4、图形方式设定ip
nm-connection-editor
systemctl stop NetworkManager
systemctl restart network
5、命令方式设定ip
nmcli device disconnect eth0 ##关闭eht0网卡
nmcli device connect eth0 ##开启eth0网卡
nmcli device show eth0 ##查看网卡信息
nmcli device status eth0 ##查看网卡服务接口信息
nmcli connection show ##查看当前网络名称
nmcli connection down 网络名称 ##关闭指定网络
nmcli connection up 网络名称 ##开启指定网络
nmcli connection add type ethernet con-name 网络名称 ifname 网卡名称 ip4 ip地址/24 ##添加一个网络
nmcli connection modify 网络名称 ipv4.addresses 修改后的ip地址/24 ##修改指定网络的名称
nmcli connection modify 网络名称 ipv4.method auto ##设置网卡的工作方式为动态
nmcli connection modify 网络名称 ipv4.method manual ##设置网卡的工作方式为静态
6、管理网络配置文件
网络配置目录:/etc/sysconfig/network-scripts/
1)静态网络设定文件
cd /etc/sysconfig/network-scripts/
vim ifcfg-网络名称
DEVICE=eth0 ##网卡名称
ONBOOT=yes ##网络设备开启时自动启动网卡
IPADDR=ip地址
NETMASK=子网掩码
BOOTPROTO=static/none ##网络设备的工作模式(静态)
NAME=网络名称
systemctl restart network
真机默认有两个ip,一个是内部网段,可以为虚拟机也配置一个内部网段的ip
cd /etc/sysconfig/network-scripts/
vim ifcfg-网络名称
DEVICE=eth0 ##网卡名称
ONBOOT=yes ##网络设备开启时自动启动网卡
IPADDR0=ip地址
NETMASK0=子网掩码
BOOTPROTO=static/none ##网络设备的工作模式(静态)
NAME=网络名称
IPADDR1=ip地址
PREFIX1=24 ##保持和真机在同一网段
2)虚拟机无路由连接外网
首先,把真机伪装成路由器(路由器上配置的ip就是网关)
stystemctl start firewalld ##开启真机防火墙
firewall-cmd --list-all ##查看当前防火墙功能状态
开启地址伪装功能
firewall-cmd --permanent --add-masquerade ##开启地址伪装功能
firewall-cmd --reload ##重新热启动防火墙
然后为虚拟机设定网关
vim /etc/sysconfig/network ##设定全局网关,此网卡的所有网络共享一个网关
添加"GATEWAY=真机的外网ip"
或者为单独网络设定网关
vim /etc/sysconfig/network-scripts/ifcfg-网络名称
添加"GATEWAY0/1/2=真机的外网ip"
systemctl restart network
route -n ##查看网关
虚拟机这时可以ping通外网,但是无法以域名访问
设定DNS域名解析服务
vim /etc/resolv.conf ##DNS的指向文件
删除原有nameserver,添加一个 nameserver 114.114.114.114
vim /etc/sysconfig/network-scripts/ifcfg-网络名称
添加 “DNS=114.114.114.114“
或者只访问某一域名,可更改本地解析文件
vim etc/hosts
添加 “ip 指定域名"
/etc/hosts和/etc/resolv.conf有一个系统默认的优先权设定
vim /etc/nsswitch.conf
39行
hosts: dns files ##/etc/resolv.conf指向优先
hosts: files dns ##/etc/hosts指向优先
3)dhcp服务配置
首先确定一台虚拟机dhcp服务已安装
vim /etc/dhcp/dhcpd.conf 发现该文件显示:
所以复制给出的路径下的文件到dhcpd的配置文件
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.conf
7行 option domain-name "example.com"; ##域名
8行 option domain-name-servers 114.114.114.114; ##DNS
删除27,28行
30行 subnet 网络号(172.25.254.0) netmask 子网掩码(255.255.255.0){
range 172.25.254.100 172.25.254.146; ##ip池(ip范围可在网络号给定下自由设定)
option routers 172.25.254.46; ##网关
}
30行后内容全部删除,配置完成后启动dhcpd服务:"systemctl start dhcpd"
关闭两台虚拟机防火墙:"systemctl stop firewalld"
在一台未设定网络的虚拟机上配置dhcp网络
最后查看dhcp的ip地址在不在所给的ip池范围内
7、netstat命令
用于列出系统上所有的网络套接字连接情况(tcp,udp...)
netstat -a ##列出所有当前连接
netstat -t ##TCP协议的连接
netstat -u ##UDP协议的连接
netstat -n ##不使用域名解析,只显示IP
netstat -l ##列出正在监听的套接字
netstat -p ##获取进程名,进程号以及用户ID
这些命令可以一起使用,获取详细信息还可以搭配grep和管道,获取指定信息