Ubuntu20.04中使用netplan配置网络

在Ubuntu20.04中已经不使用/etc/networks/interface来配置网络了,而是使用netplan配置网络:

# cat /etc/netplan/00-installer-config.yaml

这是DHCP配置IP:


# This is the network config written by 'subiquity'
network:
ethernets:
ens18:
dhcp4: true
version: 2

这是固定IP:


network:
ethernets:
ens18:
addresses: [172.18.176.239/24]
dhcp4: no
optional: true
gateway4: 172.18.176.254
nameservers:
addresses: [114.114.114.114]
version: 2

开启BBR

1 什么是BBR

TCP BBR是谷歌出品的TCP拥塞控制算法,BBR目的是要尽量跑满带宽,并且尽量不要有排队的情况。BBR可以起到单边加速TCP连接的效果。替代锐速再合适不过,毕竟免费。

Google提交到Linux主线并发表在ACM queue期刊上的TCP-BBR拥塞控制算法。继承了Google“先在生产环境上部署,再开源和发论文”的研究传统。TCP-BBR已经再YouTube服务器和Google跨数据中心的内部广域网(B4)上部署。由此可见出该算法的前途。

TCP-BBR的目标就是最大化利用网络上瓶颈链路的带宽。一条网络链路就像一条水管,要想最大化利用这条水管,最好的办法就是给这跟水管灌满水。

BBR解决了两个问题:

  1. 再有一定丢包率的网络链路上充分利用带宽。非常适合高延迟,高带宽的网络链路。
  2. 降低网络链路上的buffer占用率,从而降低延迟。非常适合慢速接入网络的用户。

项目地址:https://github.com/google/bbr

4.9以上版本的Linux内核已经集成BBR了。

2 开启BBR

2.1 修改SYSCTL.CONF

echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf

2.2 保存生效

sysctl -p

2.3 检测是否已启用BBR模块

lsmod | grep bbr

如果含有bbr即说明内核内已启用bbr模块。

pip使用国内源

1 国内源

清华:https://pypi.tuna.tsinghua.edu.cn/simple

阿里云:https://mirrors.aliyun.com/pypi/simple/

中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/

华中理工大学:http://pypi.hustunique.com/

山东理工大学:http://pypi.sdutlinux.org/

豆瓣:http://pypi.douban.com/simple/

需要注意的是新版ubuntu要求使用https源。

2 修改配置文件

Linux: 修改 ~/.pip/pip.conf (没有就创建一个文件夹及文件。文件夹要加“.”,表示是隐藏文件夹) MacOS: 修改 ~/.pip/pip.conf (没有就创建一个文件夹及文件。文件夹要加“.”,表示是隐藏文件夹) windows:,直接在user目录中创建一个pip目录,再新建文件pip.ini。例如:C:\Users\comet\pip\pip.ini

内容如下:

[global]

index-url = http://mirrors.aliyun.com/pypi/simple/

[install]

trusted-host=mirrors.aliyun.com

Proxmox集群配置

使用Proxmox 5.4进行集群配置,支持冷迁移。没有配置共享存储,不支持热迁移。

1 环境准备

1.1网络

pve2 192.168.189.2 集群主

pve3 192.168.189.3

pve4 192.168.189.4

openwrt 192.168.189.254

1.2主机名

/etc/hosts

192.168.189.2 pve2 pve2.ict.com

192.168.189.3 pve3 pve3.ict.com

192.168.189.4 pve4 pve4.ict.com

1.3硬盘

除开安装系统的盘,另外有一个500G的SCSI硬盘,路径为 /dev/sdb

1.4重新生成密钥对

root@pve2:~# ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): /root/.ssh/id_rsa already exists. Overwrite (y/n)? y Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub.

cat .ssh/id_rsa.pub > .ssh/authorized_keys

1.5改源

没有付费,那就去掉企业版的源,用免费的。

sed -i 's/deb/#deb/g' /etc/apt/sources.list.d/pve-enterprise.list

echo "deb http://download.proxmox.com/debian/pve stretch pve-no-subscription" >/etc/apt/sources.list.d/pve-install-repo.list

wget http://download.proxmox.com/debian/proxmox-ve-release-5.x.gpg -O /etc/apt/trusted.gpg.d/proxmox-ve-release-5.x.gpg

apt update && apt dist-upgrade

1.6安装常用工具

安装net-tools , ntpdate, vim,openvswitch-switch

apt install ntpdate net-tools vim

apt install openvswitch-switch

1.7同步时间

ntpdate-debian

1.8注意

三台主机都要操作第4~7步骤。

2 建立集群

2.1创建集群

通过网页操作, 在pve2上建立集群。

2.2加入集群

通过网页操作,加入时需复制主控机的信息到本机。

frp 安装与配置

1 Download

wget https://github.com/fatedier/frp/releases/download/v0.23.1/frp_0.23.1_linux_amd64.tar.gz

2 Install

tar xvf frp_0.23.1linux_amd64.tar.gz
mv frp_0.23.1_linux_amd64 frp
mv ./frp/frps /bin/
mv ./frp/frpc /bin/
mv frp /etc

3 Configure Server Service

vi /etc/frp/frps.ini

[common]

bind_port = 6666
vhost_http_port = 8666
dashboard_port = 8667
dashboard_user = comet
dashboard_pwd = 12345678
privilege_token = 3gcomet
allow_ports = 20001-49999
log_file = /var/log/frps.log
log_level = info
log_max_days = 7

4 Enable Server Service

vi /lib/systemd/system/frps.service

[Unit]
Description=frps
After=network.target

[Service]
TimeoutStartSec=30
ExecStart=/bin/frps -c /etc/frp/frps.ini
ExecStop=/bin/kill $MAINPID

[Install]
WantedBy=multi-user.target

systemctl enable frps
systemctl start frps

5 Configure Client Service

Repeat Step No.1 and Step No.2 to get frp in client mechine.

vi /etc/frp/frpc.ini

[common]

server_addr = f.3gcomet.com
server_port = 6666
privilege_token = 3gcomet

log_file = /var/log/frpc.log
log_level = info
log_max_days = 3

[ssh204]

type = tcp
local_ip = 127.0.0.1
local_port = 9230
remote_port = 20422

[web204]

#能支持转发到客户端能访问到的其他服务器
#填写对应的类型如:tcp,端口和服务器地址
type = http
local_port = 80
local_ip = 127.0.0.1
remote_port = 20480
custom_domains = testweb

6 Enable Client Service

vi /lib/systemd/system/frpc.service

[Unit]
Description=frpc
After=network.target

[Service]
TimeoutStartSec=30
ExecStart=/bin/frpc -c /etc/frp/frpc.ini
ExecStop=/bin/kill $MAINPID

[Install]
WantedBy=multi-user.target

systemctl enable frpc
systemctl start frpc

7 Configure DNS

set test.3gcomet.com to the frp server.

8 Connect

ssh -p 20422 testweb.3gcomet.com
w3m http://testweb.3gcomet.com:8666

解决win10不能访问samba共享问题

0 问题情况

win10 访问samba共享(如linux、NAS等系统的共享文件夹)时,提示“你没有权限访问\IP\folder。请与网络管理员联系请求访问权限。”

1 安装cifs共享支持

在控制面板-程序和功能-启用或关闭 Windows 功能,安装 SMB 1.0/CIFS 文件共享支持中的 SMB 1.0/CIFS 客户端。

2 更改本地组策略

运行 gpedit.msc 打开本地组策略,找到计算机配置-管理模板-网络-Lanman 工作站中的不安全的来宾登录,启用该配置。

3 添加凭证

在控制面板-用户帐户-凭证管理器-管理 Windows 凭据,添加 Windows 凭据,输入samba服务器的网络地址、用户名、密码。

4 重启系统

重启 Windows 10,登录后访问samba服务器,可以利用刚才添加到用户访问到共享。