除了NetworkManager配置网络,还有一种networking也可以配置,但是会和NetworkManager打架,所以首先禁用NetworkManager。
配置Networking流程大致是:
systemctl stop NetworkManager.service
systemctl disable NetworkManager.service
彻底删除avahi-daemon和avahi-autoipd。这两个包是兼容苹果系统的自动网络发现服务,会干扰传统的dhcp运作。
比如这样一个interfaces文件:
interfaces文件中,以下这几行是直接被ifup与ifdown文件使用的。
而以下几行与Networking服务配置使用:
Networking服务在系统启动、系统关闭和网线插拔时起作用。
因此,可以也可以不用restart networking,而是使用ifup/ifdown进行细粒度控制。
接来下的配置都是针对网口,所以需要知道有哪些网口,网口名通常为eth0或者enp0s3,如果是无线网口名可能为wlan0。
ls /sys/class/net
ip addr
网桥模式可以把两个不同网口的子网组合在一起,对外看上去好像是一个子网,所以也叫透明模式。
该配置在虚拟机上测试的。
enp0s3是连接的外网。
配置bridge后:
结论:bridge连接的网口enp0s3的配置应该删除,然后重启电脑ifconfig才生效。
该配置在虚拟机上测试的。
enp0s3是连接的外网,enp0s8是内网。
配置bridge后:
该配置在工控机测试的。
配置bridge后,拿两台电脑,一台连enp3s0口,另一台连enp4s0口,两台电脑配置的ip地址都是40网段,比如192.168.40.10和192.168.40.11。
该配置在工控机测试的。配置完后br0没有分配地址,这是最简单的配置。
配置bridge后,拿两台电脑,一台连enp3s0口,另一台连enp4s0口,两台电脑配置的ip地址都是40网段,比如192.168.40.10和192.168.40.11。
设置bridge连接网口
设置bridge具体信息
若ifconfig后没有br0信息,手动加载
通过以上多种配置和实验,证明重启系统生效更彻底。
那我们在完成功能开发的时候,不可能每次文件配置(interfaces)之后,要求用户重启系统来让网络配置彻底生效。
所以我的解决办法是,通过ip命令配置立即生效(ip命令配置是临时的,重启系统之后会丢失,所以再配合文件配置),同时文件配置(interfaces)永久生效。
想知道ip命令如何配置请看《ip命令配置网络和网桥》,移步 https://www.jianshu.com/p/26b4db8b1706 。
重启不一定会成功,查看报错日志很重要。
所谓网络配置,可细分为三类:
分别对应如下命令查看:
1.打开终端
#cd /etc/sysconfig/network-scripts/
2.查看当前网络配置
#ls
3.查看当前网络连接
#ifconfig或
# ip addr
4.修改网络配置文件,本服务器接入的是enp8s0,输入
#sudo vi ifcfg-enp8s0
5.修改以下内容:
我这里没有配置网关和子网掩码
6.重启服务
#server network start 或
#systemctl start network.service
注
CentOS 在主界面设置的是NetworkManager,它和network.service不同,会导致混乱。 需要关闭NetworkManager
#systemctl stop NetworkManager
#systemctl disable NetworkManager
直接继承自 MonoBehaviour, 还有就是被设计成了单例 singleton NetworkManager 网络管理器是一个方便的HLAPI 类,用于管理网络系统 。 对于简单的网络应用NetworkManager 网络管理器可以使用HLAPI控制 。它提供了简单的方法来 启动和停止 客户端和服务器,以及 管理场景,而且具有虚拟函数,用户代码可以使用 实现 网络事件的处理程序。NetworkManager 网络管理器一次处理一个客户端。下面的示例演示一个最小的网络设置。 using UnityEngine.Networkingpublic class Manager : NetworkManager { public override void OnServerConnect(NetworkConnection conn) { Debug.Log ("OnPlayerConnected")} } NetworkManager 网络管理器是 管理网络状态的多人游戏的一个组成部分。它实际上被实现完全使用 HLAPI,所以它做的一切都是可被其他forms的开发人员使用的。然而网络管理器包装了很多有用的功能,使得创建、 运行和调试尽可能简单的多人游戏。 网络管理器可以使用完全不用脚本。它有在编辑器中有 inspector 控件,允许配置其所有功能,和 NetworkManagerHUD 提供简单、默认的用户界面,可以在运行时允许被用户控制的...欢迎分享,转载请注明来源:内存溢出
评论列表(0条)