Tag - Ubuntu

NanoPi R2S R2S systemd Linux Ubuntu 计算机网络 软路由    2020-11-25 01:12:03    9    0    0

0.背景

旁路由折腾熟悉之后,我又开始觊觎软路由的方便,于是不久前借着双十一,下单了早有耳闻的NanoPi R2S,177大洋,有散热片有风扇有外壳,还算划算。奈何我跟OpenWRT八字不合,上次树莓派是半天LUCI进不去,这次是FriendWRT官方固件砍掉了tproxy模式。在重新编译固件依然无法成功富强之后。我又掏出了祖传技能,直接用了FriendlyCore(基于Ubuntu)秒杀了富强网关的需求。这个方式也非常通用,不只是R2S,也不仅限于Ubuntu,理论上可以将任何一个双网口的运行Linux并且使用Systemd的机器变成软路由。

1. 配置Wan侧

刷好FriendlyCore之后直接插卡开机,然后就能在路由器管理页面看到该设备的ip地址。我们ssh上去就可以进行配置了,默认用户名和密码都是pi。

配置文件参考:
systemd-network

对应这台机器就是直接在终端执行

  1. sudo vim /etc/systemd/network/eth0.network

然后把下面的内容复制进去。

  1. [Match]
  2. Name=eth0
  3. [Network]
  4. DHCP=ipv4

2. 配置Lan侧

一个软路由本质上就是开启了DHCP服务,DNS服务,网络层包转发的多网口计算机。因此在常规的配置中,通常会配置dnsmasq来做DHCP服务器,并同时担任DNS服务器。然后通过sysctl打开ip包转发,然后用iptables完成包的转发。

但是现在,systemd都包含了这些功能,不需到别的地方到处配置,也不需要再多装什么包,只需把systemd配置好就能完成这些。

我们依然是进入终端,执行

  1. sudo vim /etc/systemd/network/eth1.network

然后把下面的内容复制粘贴进去后,保存并退出。

  1. [Match]
  2. Name=eth1
  3. [Network]
  4. Address=192.168.25.1/24
  5. DHCPServer=true
  6. IPMasquerade=true
  7. [DHCPServer]
  8. PoolOffset=100
  9. PoolSize=50
  10. EmitDNS=yes
  11. DNS=223.5.5.5

/etc/syst

树莓派 Linux Ubuntu 计算机网络 软路由    2020-08-16 00:20:15    80    0    0

想拿树莓派搭热点试试看,玩了一下OpenWrt,发现一旦进不了luci就会很麻烦。想起几个月前就有新闻的Raspberry Pi OS的64位,去看看怎么样了,发现还没发布。看到Ubuntu有arm 64的image,顺手体验一下。

0. 环境

树莓派4, 4G版本
系统镜像Ubuntu server 20.04

目的:有线网口作为wan口连接到互联网,无线网口作为热点发射WiFi。

1. 装系统

安装

下好的镜像格式是img.xz,解压后用Win32DiskImager烧录。也可以直接不解压,使用balena-etcher烧录。烧录完成后插电就能开机,第一次开机会自动运行一些东西,当屏幕出现Ubuntu Login即可登录。默认用户名和密码都是ubuntu。如果出现登录失败,是正常现象,等一两分钟就好了。

换源

默认的Ubuntu镜像源在海外,速度太慢了,这里可以换成清华源

  1. sudo sed -i 's/http:\/\/ports.ubuntu.com\/ubuntu-ports/https:\/\/mirrors.tuna.tsinghua.edu.cn\/ubuntu-ports/g' /etc/apt/sources.list

关闭自动更新

修改配置文件/etc/apt/apt.conf.d/10periodic,将所有值改为0(实际上也就Update-Package-Lists是1)

或者使用命令替换:

  1. sudo sed -i 's/\"1\"/\"0\"/g' /etc/apt/apt.conf.d/10periodic

切换时区

  1. sudo timedatectl set-timezone Asia/Shanghai

2. 搭建WiFi热点

首先,安装所需要的包sudo apt install hostapd dnsmasq,然后将下面的文件分别更改为后面列出的内容。下面命令无特殊说明都在root权限下执行。

配置ap

(1) vim /etc/hostpapd/hostapd.conf

把下面的内容复制粘贴进去,注意更改wifi名称和密码

  1. interfa
Linux Dex Ubuntu    2019-08-29 01:04:30    101    0    0

0. 背景

前段时间,为了学习,下血本入手了一台Samsung家的平板Tab S5e。虽然是中端机,但是SDM670性能还行,有6G内存,主要是还支持Linux on dex,可以满足简单的算法验证(虽然不一定用得到)。

1. Linux on dex 安装

  1. 下载并安装Linux on dex
    这个有UP主说默认有?我没找到,于是就自己下了。推荐站点:APKMirror

  2. Linux on Dex的网页下载官方提供的Ubuntu的Image

  3. 安装完成后进入Dex模式并启动Linux on Dex,使用方法参考官网介绍。

2. 遇到的问题

  1. 分辨率。默认分辨率1400x876,在10寸的屏幕上还是略显模糊。
  2. 中文输入法。默认没有中文输入法。
  3. chromium的各种问题。很难理解为啥chromium会把各种设置文件放在不属于当前用户的主目录的位置,导致插件装不上,谷歌账户登录登不上。窗口大小也会每次都变得很大,很不方便。
  4. Qt程序都跑不起来

3. 解决方案

(1). 分辨率

看了一下进程列表,发现了VNC。这就好办了,把分辨率强行改成2k的就行了?

在终端中输入sudo vim /etc/init.d/vnc.sh。设置一个变量并赋值为2560x1600,然后把所有的$1替换为刚才的变量即可。重启容器后即可强制2k显示。不过实测感觉太卡了,如果想恢复,把$1再赋值给那个变量就行(比如我的就是geo)。

图片标题

(2). 中文输入法

中文输入法选择的是ibus的,忘了当时装了些什么了,放张图随意看看吧。主要就是ibus本身和一个ibus-sunpinyin。

图片标题

安装完成后在终端执行ibus-daemon &即可启动。

如果需要开机启动可以利用.bashrc完成。这个image开启会自动打开一个终端(不知道怎么关闭这个设定),所以一定会执行这个文件,正好可以用来实现开机自启动的效果。在,bashrc中添加如下代码即可:

  1. IBUS_NUM=`ps -ef | grep "ibus" | grep -v "grep" | wc -l`
  2. if [ $IBUS_NUM -eq 0 ];
  3. then
  4. ibu