一个专业拧螺丝的打工人Linux打怪升级之路

Linux升级之路-无需路由器实现开发

 想玩嵌入式Linux,但是身边有没有路由器,只有一部手机可以共享WIFI给笔记本电脑,怎么办?
 在论坛找了很多帖子,借鉴了各位的经验,在此表示感谢!

一、物理机(笔记本电脑)无线网卡

 笔记本电脑连接手机热点即可,然后将网络共享给有线网卡,(博主的有线网卡是通过USB转网口模块连接到笔记本的),这么做是为了 让ARM开发板也能上网。
 打开网络和共享中心 —> WLAN —>属性 —>共享:
一个专业拧螺丝的打工人Linux打怪升级之路_第1张图片

二、物理机(笔记本电脑)有线网卡

注意:有线网卡无需设置DNS
 设置静态IP 192.168.1.20,掩码255.255.255.0 保存即可。一个专业拧螺丝的打工人Linux打怪升级之路_第2张图片

三、虚拟机(VMware:15.5.0 Ubuntu:18.04.2)

1、添加两张虚拟网卡,分别设置为NAT模式和桥接模式。
一个专业拧螺丝的打工人Linux打怪升级之路_第3张图片
2、编辑 —> 虚拟网络编辑器。配置之前记得关闭Ubuntu系统,或者挂起。
 NAT模式设置,如图所示,把“使用本地DHCP服务将IP地址分配给虚拟机” 前面的√去掉,子网IP设置为192.168.10.0,网关设置为192.168.10.2,点击右边的确定后,点击应用 / 确定。
一个专业拧螺丝的打工人Linux打怪升级之路_第4张图片
3、进入Ubuntu,在终端输入:sudo vim /etc/network/interfaces

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

auto ens32
iface ens32 inet static
address 192.168.10.100
gateway 192.168.10.2
netmask 255.255.255.0

auto ens36 
iface ens36 inet static
address 192.168.1.1
gateway 192.168.10.100
netmask 255.255.255.0


dns-nameservers 114.114.114.114
dns-nameservers 8.8.8.8
dns-nameservers 8.8.4.4

其中ens32 和 ens36要看自己的虚拟网卡来,ens32(设置成NAT模式的网卡)的address要和VMnet8同一网段,配置完成后重启虚拟机即可。

 不出意外的话,这个时候虚拟机和物理机可以共用网络了。
一个专业拧螺丝的打工人Linux打怪升级之路_第5张图片

四、虚拟机转发网络

 重头戏来了!
 1、sudo vim /etc/sysctl.conf
  修改配置文件,net.ipv4.ip_forward=1,打开网络转发,开启路由功能。
 2、sudo sysctl -p :使内核转发立即生效
 3、sudo iptables -t nat -A POSTROUTING -o ens32 -s 192.168.1.0/24 -j MASQUERADE
 4、使转发规则重启后自动配置
  sudo su
  iptables-save > /etc/iptables.roles : 保存当前规则
  sudo vim /etc/network/interfaces
  添加 : pre-up iptables-restore < /etc/iptables.roles
 5、其他有关操作
  sudo iptables -t nat -nL : 查看NAT转发表
  sudo iptables -t nat -F : 清空规则

五、ARM

 静态IP设置:
  sudo mv /etc/network/interfaces /etc/network/interfaces.save
  sudo systemctl enable systemd-networkd.service : 开机使能service
  sudo vim /etc/systemd/network/eht1.network : 配置静态IP

[Match]
Name=eth1

[Network]
Address=192.168.1.124/24	#24=255.255.255.0
Gateway=192.168.1.1
DNS=114.114.114.114

  sudo systemctl restart systemd-networkd.service : 重启systemd-networkd.service
  sudo systemctl enable systemd-networkd : 使能systemd-networkd服务
  sudo systemctl enable systemd-resolved : 使能systemd-resolved 服务 用来进行域名解析
  sudo systemctl start systemd-resolved : 开启systemd-resolved 服务
  sudo rm /etc/resolv.conf : 删除原来的
  sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf : 创建软连接
  sudo systemctl restart systemd-networkd : 重启网络

  临时IP设置:
  sudo ifconfig eth1 192.168.1.124 netmask 255.255.255.0
  设置默认网关:sudo route add default gw 192.168.1.1
  sudo nano /etc/resolv.conf
    添加:

     nameserver 114.114.114.114
     nameserver 8.8.8.8

 至此无路由器便可实现开发;
 还有一点就是: 开发板每次重启后都要进行默认网关的配置才能使用网络,这点我无解,
 希望各路大神路过看到,还请帮指点一二。

一个专业拧螺丝的打工人Linux打怪升级之路_第6张图片

你可能感兴趣的:(学习笔记,linux)