自学内容网 自学内容网

Ubuntu24.04配置备忘

作者:尚俊飞,范国强(月光光)

  1. 软路由配置
  1. 编辑文件: vim /etc/netplan/00-installer-config.yaml

----------------------------------------------

network:
  ethernets:
    enp1s0:  # 外网
      dhcp4: true
      dhcp6: true
    enp2s0:  # 内网
      addresses: [ 10.1.1.1/24 ]
  version: 2

----------------------------------------------

使用ifconfig查看网卡名字,区别内网和外网网卡,如果内网ip重启后ip丢失,可以手动在图形界面进行设置。

  1. 关闭ufw

----------------------------------------------

systemctl disable --now ufw

----------------------------------------------

?疑问:直接关闭是否导致安全性问题

(3)加载 nf_conntrack 模块

vim /etc/modules-load.d/custom-modules.conf (如果没有这个文件,看看目录下是否有其他文件,找一个啥也没写的,在后面加一行)

----------------------------------------------

nf_conntrack

----------------------------------------------

(4)修改内核参数

vim /etc/sysctl.d/99-forward.conf (如果没有这个文件,找99开头的)

----------------------------------------------

net.ipv4.ip_forward=1

net.ipv4.conf.all.forwarding=1

net.ipv4.conf.default.forwarding=1

net.ipv4.conf.all.route_localnet=1

net.ipv6.conf.all.forwarding=1

net.ipv6.conf.default.forwarding=1

----------------------------------------------

只配置了ipv4的部分

  1. iptables 脚本(只配置了标红的部分,ipv6的没有配置)

----------------------------------------------

#!/bin/bash

# /data/firewall-set.sh

# 根据你的WAN网卡名称对应修改!!!

WAN_NAME='enp1s0'

# IPv4设置

iptables -t nat -N mt_rtr_4_n_rtr

iptables -t nat -A POSTROUTING -j mt_rtr_4_n_rtr

iptables -t nat -A mt_rtr_4_n_rtr -o ${WAN_NAME} -j MASQUERADE # 添加路由到作为WAN的网卡的自动源地址转换规则

# 添加IPv4转发优化规则

iptables -t mangle -N mt_rtr_4_m_rtr

iptables -t mangle -A FORWARD -j mt_rtr_4_m_rtr

iptables -t mangle -A mt_rtr_4_m_rtr -o ${WAN_NAME} -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu # 针对PPPoE链接的优化

iptables -t mangle -A mt_rtr_4_m_rtr -m state --state RELATED,ESTABLISHED -j ACCEPT # 允许已建立连接的数据包直接通过

iptables -t mangle -A mt_rtr_4_m_rtr -m conntrack --ctstate INVALID -j DROP

iptables -t mangle -A mt_rtr_4_m_rtr -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j DROP

iptables -t mangle -A mt_rtr_4_m_rtr -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,PSH,ACK,URG -j DROP

iptables -t mangle -A mt_rtr_4_m_rtr -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP

iptables -t mangle -A mt_rtr_4_m_rtr -i br_lan -o ${WAN_NAME} -j ACCEPT

----------------------------------------------

# IPv6 NAT设置,与IPv4基本一致

ip6tables -t nat -N mt_rtr_6_n_rtr

ip6tables -t nat -A POSTROUTING -j mt_rtr_6_n_rtr

ip6tables -t nat -A mt_rtr_6_n_rtr -o ${WAN_NAME} -j MASQUERADE # 添加路由到作为WAN的网卡的自动源地址转换规则

# 添加IPv6转发优化规则

ip6tables -t mangle -N mt_rtr_6_m_rtr

ip6tables -t mangle -A FORWARD -j mt_rtr_6_m_rtr

ip6tables -t mangle -A mt_rtr_6_m_rtr -o ${WAN_NAME} -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

ip6tables -t mangle -A mt_rtr_6_m_rtr -m state --state RELATED,ESTABLISHED -j ACCEPT

ip6tables -t mangle -A mt_rtr_6_m_rtr -m conntrack --ctstate INVALID -j DROP

ip6tables -t mangle -A mt_rtr_6_m_rtr -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j DROP

ip6tables -t mangle -A mt_rtr_6_m_rtr -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,PSH,ACK,URG -j DROP

ip6tables -t mangle -A mt_rtr_6_m_rtr -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP

ip6tables -t mangle -A mt_rtr_6_m_rtr -i br_lan -o ${WAN_NAME} -j ACCEPT

使用sudo执行以上sh脚本

安装一个可以实现该脚本持久化的工具

sudo apt install iptables-persistent

netfilter-persistent save (持久化保存,重启不会丢)

  1. 检查netplan配置是否正确

----------------------------------------------

sudo netplan apply

----------------------------------------------

  1. 遇到的问题:

*** too open,意思是文件目前的权限过于宽泛,sudo chmod 700 ;

...文件链接层数过多:使用vim编辑,或者找到链接的源文件修改;

  1. 参考网址

基于Ubuntu的软路由搭建记录 | 杂烩饭

  1. Ubuntu使用systemd设置开机启动程序
  1. 创建一个新的服务文件vim /etc/systemd/system/myapp.service

----------------------------------------------

[Unit]

# 服务名称

Description=TestUi

# 需要在网络服务启动后才会启动

After=network-online.target

#确认网络服务启动

Wants=network-online.target

[Service]

# 程序启动脚本位置

ExecStart=/home/srv/myapp.sh

# 程序工作位置

# WorkingDirectory=/home/srv/

# 服务意外终止时,Systemd 会自动重启该服务

Restart=always

# DISPLAY环境变量 GUI程序必须配置此项否则无法启动 通常为0 具体看自己机器的环境

Environment=DISPLAY=:0

# 要运行该程序的用户名

User=root

# 设置重启间隔

RestartSec=5s  

[Install]

# 服务会在multi-user.target启动时自动启动

WantedBy=multi-user.target

----------------------------------------------

  1. 赋予myapp.service服务脚本文件可执行权限

----------------------------------------------

sudo chmod 755 myapp.service

----------------------------------------------

  1. 编写程序启动脚本:vim /home/srv/myapp.sh

----------------------------------------------

#! /bin/bash

# 导入DISPLAY环境配置(GUI程序需配置)

export DISPLAY=:0

# 导入XAUTHORITY环境配置

# XAUTHORITY环境配置可使用命令env查看(与登录的用户有关)

export XAUTHORITY=/.Xauthority  #GUI程序需配置,Ubuntu24.04该路径重启自动变更

# 启动X server访问权限

/usr/bin/xhost +

# 启动程序

/usr/bin/myapp

----------------------------------------------

  1. 赋予myapp.sh启动脚本文件可执行权限

----------------------------------------------

sudo chmod 755 myapp.sh

----------------------------------------------

  1. 手动启动服务并检查服务状态

----------------------------------------------

sudo systemctl start    myapp.service

sudo systemctl status   myapp.service

----------------------------------------------

  1. 启用服务在系统启动时自动运行

----------------------------------------------

sudo systemctl enable myapp.service

----------------------------------------------

  1. 参考网址:

ubuntu系统systemctl 开机启动Qt带gui程序_ubuntu开机运行gui应用-CSDN博客

Linux进程被信号杀死后退出状态码(exit code)的分析_exit-code-CSDN博客

  1. 安装系统启动主题(xyiot-ubuntu)
  1. 自动安装主题,下次启动时自动应用:
  1. 进入主题安装目录 ./xyiot-ubuntu
  2. 运行安装程序来安装主题:

----------------------------------------------

sudo chmod u+x install && ./install

----------------------------------------------

  1. 手动安装了主题:
  1. 进入安装目录,复制子文件夹( xyiot-ubuntu)移动到 /usr/share/plymouth/themes:

----------------------------------------------

sudo cp -r ./xyiot-ubuntu /usr/share/plymouth/themes/

----------------------------------------------

  1. 所有权变更为root:

----------------------------------------------

sudo chown root:root /usr/share/plymouth/themes/xyiot-ubuntu

----------------------------------------------

  1. 安装主题作为 default.plymouth 的替代主题:

----------------------------------------------

sudo update-alternatives --install /usr/share/plymouth/themes/default.plymouth default.plymouth /usr/share/plymouth/themes/xyiot-ubuntu/xyiot-ubuntu.plymouth 100

----------------------------------------------

  1. 运行命令配置default.plymouth,输入相应的数字将对应项设置为默认值:

----------------------------------------------

sudo update-alternatives --config default.plymouth

----------------------------------------------

  1. 不重启验证当前的开机动画:

----------------------------------------------

# 全屏显示开机动画,5秒后自动退出

sudo plymouthd; sudo plymouth --show-splash; sleep 5; sudo plymouth --quit

----------------------------------------------

参考网址:在 Ubuntu 24.04 上安装和更改启动动画屏幕主题


原文地址:https://blog.csdn.net/dsb2008dsb/article/details/142850822

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!