ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

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

2021-06-08 12:02:27  阅读:387  来源: 互联网

标签:iptables Manjaro samba -- sudo 192.168 systemctl ACCEPT 24



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

介绍

64位系统
排名第一的,最易用的KDE桌面
迅雷,QQ ,微信,和最新软件,一个不少
在这里插入图片描述manjaro 有最为丰富的软件仓库
最新的软件,优先享用
看图,manjaro 的用户仓库就是AUR,遥遥领先
在这里插入图片描述
树梅派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

在这里插入图片描述


检查是否正常工作

sudo ss -ntlp
sudo systemctl status  vncserver@:1

在这里插入图片描述


最后, 可选步骤, 如果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左右。
在这里插入图片描述

享用愉快。

标签:iptables,Manjaro,samba,--,sudo,192.168,systemctl,ACCEPT,24
来源: https://blog.csdn.net/weixin_45599654/article/details/109097748

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有