0%

实验目的

给定网络拓扑和节点配置,节点实现TCP最基本的连接管理和数据传输功能,使得节点之间能够在无丢包网络环境中传输数据。

实验拓扑

实验内容

  1. 运行给定网络拓扑(tcp_topo.py)

    1
    sudo python2 topo/tcp_topo.py
  2. 在节点h1上执行TCP程序

    执行脚本,禁止协议栈的相应功能,并在h1上运行TCP协议栈的服务器模式。

    1
    2
    3
    4
    5
    6
    ./scripts/disable_arp.sh
    ./scripts/disable_icmp.sh
    ./scripts/disable_ip_forward.sh
    ./scripts/disable_tcp_rst.sh
    export LD_LIBRARY_PATH=.;
    ./tcp_stack server 10001
  3. 在节点h2上执行TCP程序

    执行脚本,禁止协议栈的相应功能,并在h2上运行TCP协议栈的客户端模式,连接h1并从h1正确获得数据。

    1
    2
    3
    4
    5
    6
    ./scripts/disable_arp.sh
    ./scripts/disable_icmp.sh
    ./scripts/disable_ip_forward.sh
    ./scripts/disable_tcp_rst.sh
    export LD_LIBRARY_PATH=.;
    ./tcp_stack client 10.0.0.1 10001
阅读全文 »

本文目的

虽然之前也写过编译OpenWRT的文章,但是由于版本等原因,此次遇到的问题与之前不太一样,特地记录一下。

编译环境

  • Archlinux 64bit
  • GCC v7.2.0
  • Perl v5.26.1

项目源码

项目源码托管在GitHub上,地址如下:**openwrt**。

前提工作

  1. 必装工具
    可以在这里找到目前支持系统的编译工具。

    Archlinux的安装命令如下:

    1
    sudo pacman -S --needed subversion asciidoc bash bc binutils bzip2 fastjar flex git gcc util-linux gawk intltool zlib mercurial make cdrkit ncurses openssl patch perl-extutils-makemaker rsync sdcc unzip wget gettext libxslt boost libusb bin86 sharutils b43-fwcutter findutils
  2. Checkout项目代码

    1
    git clone git@github.com:openwrt/openwrt.git

取得源代码后,需要执行下面的命令,将package全部安装。

1
2
./scripts/feeds update -a
./scripts/feeds install -a
阅读全文 »

之前配置JDK环境,总是忘记需要设置哪几个环境变量,所以在这里记录一下。

  • JAVA_HOME = C:\Program Files\Java\jdk-9.0.1

  • CLASSPATH = .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar

  • Path += %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

PS:最新的Windows 10中的环境变量,需要在设置中搜索编辑系统环境变量打开。

今天服务器重装了系统CentOS 7,需要安装MySQL。

获取repo

访问:https://dev.mysql.com/downloads/repo/yum/
下载rpm文件

安装

1
2
sudo rpm -ivh mysql57-community*.rpm
yum install -y mysql-server

运行

1
sudo systemctl start mysqld

重置密码

MySQL 5.7以上,会在安装时会默认生成一个临时密码。MySQL 5.6以下则默认密码为空。

1
2
# 获取临时密码
sudo grep 'temporary password' /var/log/mysqld.log

显示如下信息:

1
2016-12-01T00:22:31.416107Z 1 [Note] A temporary password is generated for root@localhost: mqRfBU_3Xk>r

重置密码:

1
sudo mysql_secure_installation

输入临时密码,然后再输入新密码就可以了。

新密码要求是强密码,需要包含字母、数字、特殊符号。

允许远程访问

授权用户远程访问

1
grant all privileges  on *.* to user@'ip' identified by "password";

如果允许任意地址,则将@'ip'换成@'%'。

1
2
3
4
5
6
7
8
9
10
wget https://download.libsodium.org/libsodium/releases/LATEST.tar.gz
tar zxf LATEST.tar.gz
cd libsodium*
./configure
make && make install

# 修复关联
# Ubuntu 只运行 ldconfig 就可以
echo /usr/local/lib > /etc/ld.so.conf.d/usr_local_lib.conf
ldconfig