分类
Linux 容器 笔记 网络

UFW防火墙规则对Docker映射端口无效

在自己的服务器开启防火墙,使用UFW设置规则:

ufw default deny

默认禁用所有连接,测试发现,用Docker运行的APP端口能正常访问。

UFW是为了简化Iptables产生的,它在Iptables有自己的规则链。Docker在启动时在Iptables会创建自己的规则链,所以不生效。

分类
Linux

Ubuntu 合上笔记本禁止休眠

合上笔记本盖不进入休眠。在Ubuntu的电源管理没有找到相应设置,可以手动修改配置文件完成。

vi /etc/systemd/logind.conf

打开logind.conf配置文件,找到:

HandleLidSwitch=suspend
HandleLidSwitchExternalPower=suspend

修改为:

HandleLidSwitch=ignore
HandleLidSwitchExternalPower=ignore

重启生效!

分类
Linux 网络 虚拟机

虚拟机安装OpenWrt路由系统

OpenWrt是一个开源路由器固件,基于Linux。智能路由可以刷机OpenWrt,支持大量插件,功能丰富。OpenWrt也支持x86,可以做为软路由系统。由于我没有单独的机器做软路由,使用OpenWrt做旁路由,仅为科学上网和过滤广告,用虚拟机完全可以满足需求。

OpenWrt支持VitualBox,VMware,Hyper-V等虚拟机,也支持Docker运行。这里我使用的是VMware。

分类
Linux

Ubuntu 20.04设置静态IP地址

因为Ubuntu20.04通过netplan来管理网络,和之前得版本略有区别。

打开配置文件编辑:

vi /etc/netplan/00-installer-config.yaml

这个yaml可能叫其他名字,打开即可。

network:
  ethernets:
    eth0:     #配置的网卡的名称
      addresses: [192.168.2.128/24]    #配置的静态ip地址和掩码
      dhcp4: no    #关闭DHCP,如果需要打开DHCP则写yes
      optional: true
      gateway4: 192.168.2.1    #网关地址
      nameservers:
         addresses: [223.5.5.5,114.114.114.114]    #DNS服务器地址,多个DNS服务器地址需要用英文逗号分隔开
  version: 2
  renderer: networkd    #指定后端采用systemd-networkd或者Network Manager,可不填写则默认使用systemd-workd
分类
Linux 软件

Ubuntu安装XRDP

在Linux下一直没有好的远程桌面工具。VNC太慢,即使在内网也不太流畅。NoMachine不错,但连接需要安装客户端。NoMachine的移动端做得很垃圾,而且几年没更新,不兼容流海屏。远程用得最爽的还是windows自带的rdp,在低网速下也有很好的表现。

一般的远程工具采用录屏的方式,传输图像。如VNC,NoMachine,用h264压缩。虽然支持GPU加速,但在低宽带或高分辨率下质量差,延迟高。RDP不一样,它传输的是指令,绘图是放在客户端的,所以速度快,即使提高分辨率,速度也不会明显降低。

分类
Java Linux

Linux环境启动Elasticsearch错误

Elasticsearch默认启动监听的是本地127.0.0.1端口,现需要把服务发布出来,供其他机器访问。修改Elasticsearch配置文件(config/elasticsearch.yml):

network.host: 0.0.0.0
discovery.seed_hosts: ["0.0.0.0"]

启动后报错,如图:

ERROR: [1] bootstrap checks failed
[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
分类
Linux

SAMBA挂载,指定用户权限

Linux使用Samba挂载网络共享需安装cifs工具,在Ubuntu下安装:

sudo apt install cifs-utils

然后可以用mount挂载:

sudo mount.cifs //ip/共享目录 挂载目录

默认挂载后所有文件所属用户和组都是root,可以增加参数指定用户。

sudo mount.cifs -o rw,uid=wangzhengzhen,username=guest,password= //ip/共享目录 挂载目录
分类
Linux

Linux开机启动脚本

rc.load

/etc/rc.load 或 /etc/rc.d/rc.load

service

#!/bin/bash
#
### BEGIN INIT INFO
# Provides:          zz
# Required-Start:
# Required-Stop:
# Should-Start:      $network $time
# Should-Stop:       $network $time
# Default-Start:     3 4 5
# Default-Stop:
# Short-Description:
# Description:
### END INIT INFO
#

使用让系统开机命令加载脚本:
update-rc.d zz defaults 99

systemctl

systemctl脚本存放在:/usr/lib/systemd/,有系统(system)和用户(user)之分,像需要开机不登陆就能运行的程序,就将程序存在系统服务里,即:/usr/lib/systemd/system目录下

该目录下的服务有以service结尾的,也有target结尾的。

分类
Linux 日记

Ubuntu升级至20.04

前几天Ubuntu 20.04 TLS (Focal Fossa)正式发布,家里的台式机是Ubuntu 18.04 TLS,决定升级到最新TLS版。

首先把系统软件升级到最新:

apt update

apt upgrade

然后执行 do-release-upgrade 如下:

默认TLS版只能升级到TLS版,并且只有第一个补丁版发布才能检测到升级。就是说只有20.04.1发布后才能升级。可以手动指定参数:

do-release-upgrade -m desktop -d

经过漫长的等待,终于更新完了。重启系统。

分类
Linux

Linux 防火墙 ufw 简介

ufw(简单防火墙Uncomplicated FireWall)真正地简化了 iptables,它从出现的这几年,已经成为 Ubuntu 和 Debian 等系统上的默认防火墙。而且 ufw 出乎意料的简单,这对新管理员来说是一个福音,否则他们可能需要投入大量时间来学习防火墙管理。

ufw 也有 GUI 客户端(例如 gufw),但是 ufw 命令通常在命令行上执行的。本文介绍了一些使用 ufw 的命令,并研究了它的工作方式。

首先,快速查看 ufw 配置的方法是查看其配置文件 —— /etc/default/ufw。使用下面的命令可以查看其配置,使用 grep 来抑制了空行和注释(以 # 开头的行)的显示。

$ grep -v '^#\|^$' /etc/default/ufw
IPV6=yes
DEFAULT_INPUT_POLICY="DROP"
DEFAULT_OUTPUT_POLICY="ACCEPT"
DEFAULT_FORWARD_POLICY="DROP"
DEFAULT_APPLICATION_POLICY="SKIP"
MANAGE_BUILTINS=no
IPT_SYSCTL=/etc/ufw/sysctl.conf
IPT_MODULES="nf_conntrack_ftp nf_nat_ftp nf_conntrack_netbios_ns"

正如你所看到的,默认策略是丢弃输入但允许输出。允许你接受特定的连接的其它规则是需要单独配置的。

ufw 命令的基本语法如下所示,但是这个概要并不意味着你只需要输入 ufw 就行,而是一个告诉你需要哪些参数的快速提示。

ufw [--dry-run] [options] [rule syntax]