树梅派4B 安装使用 Manjaro-ARM 64位系统 samba tigervnc iptables防火墙


你可能要问 manjaro 有什么好的? 看图,不多说。

介绍

64位系统
排名第一的,最易用的KDE桌面
迅雷,QQ ,微信,和最新软件,一个不少
树梅派4B 安装使用 Manjaro-ARM 64位系统 samba tigervnc iptables防火墙manjaro 有最为丰富的软件仓库
最新的软件,优先享用
看图,manjaro 的用户仓库就是AUR,遥遥领先
树梅派4B 安装使用 Manjaro-ARM 64位系统 samba tigervnc iptables防火墙
树梅派4B Manjaro-ARM 系统镜像下载地址:

https://mirrors.tuna.tsinghua.edu.cn/osdn/storage/g/m/ma/manjaro-arm/rpi4/

用树梅派自带工具烧录即可,不多说。

  1. 让终端彩色输出显示
sudo sed -i 's@#Color@Color@g' /etc/pacman.conf
  1. 选择阿里镜像,稳定
if [ ! -z "$(grep "mirrorlist" /etc/pacman.d/mirrorlist)" ];then
        sudo systemctl disable pamac-mirrorlist.timer
        echo 'Server = https://mirrors.aliyun.com/manjaro/arm-stable/$repo/$arch' | sudo tee /etc/pacman.d/mirrorlist
    fi

关闭了 pamac-mirrorlist.timer 服务,否则它可能自己改你的源

  1. 接下来更新系统到最新:
sudo pacman -Syyu

安装软件

  • 编译工具

这个很有用,因为仓库里的软件,安装时可能会编译安装。没有它,可能安装不了某些软件。

sudo pacman -S base-devel  bc  linux-rpi4-headers 
  • 用户软件仓库

这个重要,pacman是官方仓库,yay是用户仓库。

sudo pacman -S yay

用户仓库就是AUR, 超大量的软件都在这里。比如安装迅雷,QQ , 网易音乐等等

yay -S xunlei-bin
  • 输入法
sudo pacman -S kcm-fcitx fcitx-qt5

配置启用输入法

echo 'GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx' | sudo tee ~/.pam_environment
  • 网络工具
    如果想把树梅派当路由器用,这些都是必须的。没这需求不必安装。
sudo pacman -S usb_modeswitch dhclient bridge-utils net-tools dnsmasq hostapd 

局域网共享

sudo pacman -S samba manjaro-settings-samba

配置samba
首先创建samba密码

sudo smbpasswd -a $USER

接着,配置 smb.conf 把下面用户改成你自己的

    sudo mkdir /mnt/本地磁盘
    sudo sed -i '/homes/,$d'  /etc/samba/smb.conf
    sudo sed -i '/Share Definitions/,$d'  /etc/samba/smb.conf
    echo \
    "#====== Share Definitions ===========
[树梅派]
    comment = /home/lwl/
    create mask = 0664
    directory mask = 0775
    path = /home/lwl/
    read only = No
[共享磁盘]
    comment = 1TB
    create mask = 0664
    directory mask = 0775
    path = /mnt/本地磁盘/
    read only = No
    "  | sudo tee -a /etc/samba/smb.conf

最后,启动samba服务

sudo systemctl enable smb nmb
sudo systemctl restart smb nmb

远程桌面 tigervnc

首先假设, 树莓派为 A主机, 你的电脑为 B主机

首先A安装tigervnc

sudo pacman -S tigervnc

第一步, A配置密码,这个是其他电脑访问vnc时,要输入的密码

vncpasswd

第二步A配置 tigervnc 用户
把里面用户名 lwl 改成你自己的

    if [ -z "$(grep lwl /etc/tigervnc/vncserver.users)" ];then
        #sudo sed -i '/lwl/d' /etc/tigervnc/vncserver.users
        echo "  :1=lwl" | sudo tee -a /etc/tigervnc/vncserver.users
    fi

第三步A配置confg文件
我的桌面是 plasma 改成你自己的
如果不清楚,可以直接查看

ls   /usr/share/xsessions/

下面代码不能开启 localhost 选项,否则无法连接

cat > ~/.vnc/config << 'END'
#这是你的桌面, 查看桌面指令 ls /usr/share/xsessions/ 
session=plasma
#这里是分辨率,使用realvnc连接时,所显示的桌面分辨率
geometry=1200x980
alwaysshared
#这个选项是指定VNC只能本机连接使用,可以配合SSH加密传输
# localhost
END

第四步A启动服务 tigervnc
其中 :1 表示的是 5901 端口

sudo systemctl enable vncserver@:1
sudo systemctl start vncserver@:1

第五步, B访问A的的桌面
B主机,也安装tigervnc,或者用RealVNCviewer,如下图, 用来访问A主机桌面, 也就是树莓派的桌面。
其中192.168.9.1是我的树莓派的IP, 修改为你的树莓派IP
即, 访问192.168.9.1的 5901端口

192.168.9.1:1

树梅派4B 安装使用 Manjaro-ARM 64位系统 samba tigervnc iptables防火墙


检查是否正常工作

sudo ss -ntlp
sudo systemctl status  vncserver@:1

树梅派4B 安装使用 Manjaro-ARM 64位系统 samba tigervnc iptables防火墙


最后, 可选步骤, 如果VNC只在局域网内部使用, 不需要此步骤
局域网内不需要加密传输, 如果是外网就要了, 可以使用SSH隧道加密.
1, 上面第三步里, A主机开启 localhost 选项, 且A主机开启 SSH服务

sudo systemctl enable sshd
sudo systemctl start sshd

2, B主机执行下面指令, 开启SSH端口映射
即, 将 192.168.9.1 ,也就是A主机的 5901端口,映射到本地B主机的的9000端口

ssh 192.168.9.1 -L 9000:localhost:5901

然后, B主机用第五步来访问A主机树莓派桌面. VNC服务器填写如下

localhost:9000

此时,就成功了,所有数据都是通过ssh加密传输过来的.


防火墙

水平有限,仅供参考
我的树梅派当路由用,网口为我的电脑提供网络。
下面代码里的 192.168.9.0/24 是我的局域网,可以删掉,或者改成你自己的。

echo \
"

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
#这样,就表示只有回应我们的报文能够通过防火墙,如果是别人主动发送过来的新的报文,则无法通过防火墙
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

#允许主机被 ping
-A INPUT -p icmp -j ACCEPT
-A OUTPUT -p icmp -j ACCEPT

#先把“回环”打开,以免有不必要的麻烦
-A INPUT -i lo -j ACCEPT
-A OUTPUT -o lo -j ACCEPT

#允许DNS访问   从53端口进入
-A INPUT -s 192.168.9.0/24,192.168.7.0/24 -p udp  --dport 53 -j ACCEPT

#允许DHCP访问 ,二级主机获取IP用
-A INPUT -p udp --dport 67:68 -j ACCEPT


#SSH服务 允许被访问
-A INPUT -s 192.168.9.0/24,192.168.7.0/24 -m state --state NEW -p tcp --dport 22 -j ACCEPT

#samba 被访问
-A INPUT -s 192.168.9.0/24,192.168.7.0/24 -p tcp -m multiport --dports 139,445 -j ACCEPT
-A INPUT -s 192.168.9.0/24,192.168.7.0/24 -p udp -m multiport --dports 137,138 -j ACCEPT
-A OUTPUT -s 192.168.9.0/24,192.168.7.0/24 -p tcp -m multiport --dports 139,445 -j ACCEPT
-A OUTPUT -s 192.168.9.0/24,192.168.7.0/24 -p udp -m multiport --dports 137,138 -j ACCEPT

#vncserver  发去请求启动
-A INPUT -s 192.168.9.0/24,192.168.7.0/24 -m state --state NEW -m tcp -p tcp --dport 5901 -j ACCEPT
-A INPUT -s 192.168.9.0/24,192.168.7.0/24 -m state --state NEW -m tcp -p tcp --dport 5902 -j ACCEPT
-A INPUT -s 192.168.9.0/24,192.168.7.0/24 -m state --state NEW -m tcp -p tcp --dport 5903 -j ACCEPT

#=========  开放的端口 必须要在这两条命令之前:
# 拒绝所有外部输入请求 
-A INPUT -j REJECT --reject-with icmp-host-prohibited

COMMIT

" | sudo tee /etc/iptables/iptables.rules    >/dev/null

启动
如果没报错,就真的可以了

sudo systemctl enable iptables
sudo systemctl restart iptables

结束语

查看上面你开启,和关闭的服务

#查看服务状态 ,是否被开启
systemctl list-unit-files | grep iptables
systemctl list-unit-files | grep smb
systemctl list-unit-files | grep vncserver
systemctl list-unit-files | grep pamac-mirrorlist.timer

如果树梅派做成路由使用,可以关闭其网络管理。否则,不用。

sudo systemctl disable NetworkManager

主要是 KDE 太好用了,个人觉得体验极好。 开机占内存400M左右。
树梅派4B 安装使用 Manjaro-ARM 64位系统 samba tigervnc iptables防火墙

享用愉快。

上一篇:安装 Manjaro Linux 后,我会做的几件事情


下一篇:·【Linux】Manjaro系统  搜狗输入法异常!请删除.config/SogouPY 并重启