分类 Linux 下的文章

我不是在看WireGuard吗,怎么跑到这里来了

在学习WireGuard的时候,发现其中用到了ip rule命令来根据数据包的fwmark属性匹配不同的路由表。因为觉得比较神奇(和方便,作为路由器来说),所以就选择了深入一步进行了解。在阅读了一些博客中记载的简单配置实例后,将在Linux中进行路由配置的大致流程记录如下:

需要用到的工具有两个:ipfilterip。大致流程是首先使用iptablesmangle模块(修改网络数据包,可应用于QoS等场景)在系统内部对数据包进行识别和分类(进行标记),然后使用ip rule命令根据iptables对数据包进行的分类标记,选择对应的路由表进行合适的包发送操作。

https://kknews.cc/code/gaag6bl.html

因为mangle的处理是优先于natfilter表的,所以相依数据包到达之后先打上标记,之后再通过ip rule规则,对应的数据包使用相应的路由表进行路由,最后读取路由表信息,将数据包送出网关。

突然发现没啥要写的了,就这样吧

按照官方文档,使用的是Kolla-Ansible快速配置方案。

  1. 需要一台有两个网络接口的服务器,一个配ip,不要求外网,填给network_interface;另一个不配ip,给neutron_external_interface,用于给虚拟机连接外网;
  2. sudo转化为root用户的正确姿势是sudo -i,表示以root身份登陆Shell,这样才会进行source /etc/profile的工作;
  3. 完成配置,执行precheck命令时,RabbitMQ部分可能会报错,这是因为RabbitMQ不允许有hosts记录解析到本机,到/etc/hosts中删除解析到127.0.0.1::1的记录即可解决该问题;
  4. 默认的用户名和密码在/etc/kolla/admin-openrc.sh里,执行后续操作的时候需要source这个文件;
  5. OpenStack跑起来之后,可能会出现只有英文的情况(即使在设置中将语言设置为了简体中文)。这是因为koala的horizon(OpenStack仪表盘项目的名称)编译的时候,(估计是为了缩小镜像体积)把所有的翻译都删掉了,只留下英语。解决方法是去Github上弄一份horizon项目的源码,把其中openstack_dashboard/locale文件夹使用docker cp命令复制到对应的horizondocker容器中,理论上目标位置是/usr/share/openstack-dashboard/openstack_dashboard/locale;然后在容器中使用django-admin compilemessages编译这些UI消息后,重启该容器,语言设置即可恢复正常。

在命令行使用openstack管理员操作之前,要先source含有管理员用户密码等配置信息的脚本文件。使用Ansible-Kolla方式的配置文件为/etc/kolla/admin-openrc.sh

显示已有镜像

openstack image list

添加镜像

openstack image create --public --disk-format qcow2 CentOS-8-GenericCloud-8.2.2004-20200611.2.x86_64.qcow2

重命名在网页端的显示名称(不知道为啥网页端不能直接改)

openstack image set CentOS-8-GenericCloud-8.2.2004-20200611.2.x86_64 --name 'CentOS 8'

update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.3 10
表示注册一个文件位置为/usr/bin/gcc、名叫gcc、目标文件位置为/usr/bin/gcc-4.3、自动模式下优先级为10的条目。

update-alternatives --config gcc
表示修改gcc的默认链接条目。

update-alternatives --get-selections
列出当前所有链接条目。

挖藕,厉害了

================
来自我的Armbian on Rock64(大雾)


第一次在Linux环境下配置中文输入法。为啥呢?因为Fedora已经自带装好了,用服务器也不用打汉字啊

实属懒得回寝室拿电脑的神奇操作

然后看到网上的教程,全都零零碎碎的,从ArchWiki看到博客,好像都没说完整= =

简而言之的话安装包括大致5个部分,fcitx本体、输入法(实现方式)、输入法UI实现、输入法皮肤和设置UI:

sudo apt install fcitx fcitx-libpinyin fcitx-tools fcitx-frontend-gtk3 fcitx-ui-classic fcitx-config-gtk

最近的破事真的是超级无敌加倍多= = neu6不知道为啥打不开了

本来想给服务器配一个ipv6的站点的,结果不但没配好,还发现服务器登不上去了。。

可以使用ssh <user>@<host> -vvv命令来获取更加详细的调试信息

到网上转了一圈,发现说是TCP的MTU太大,可能因为包截断的原因导致信息丢失,最终的结果就是连不上。

参照这个:http://www.snailbook.com/faq/mtu-mismatch.auto.html

似乎暂时性地解决了?

但是就离谱,用ipv6连接就是不会出现这种问题

=============================================
后续更新

后来似乎发现问题了。。是使用的网络问题
只要使用寝室的移动宽带,铁定卡在debug1: SSH2_MSG_KEXINIT sent这里,然后就连接中断了,换成手机流量(还是移动的)马上就好了
猛男落泪.jpg