sudo apt-get install openssh-server
sudo vi /etc/sysctl.conf
# 修改 ip_forward=1为如下内容:
net.ipv4.ip_forward=1
# 使生效
$ sudo sysctl -p
# 安装 iptables-persistent 包
$ sudo apt install iptables-persistent
# 设置 iptables NAT 转发
$ sudo iptables -F
$ sudo iptables -P INPUT ACCEPT
$ sudo iptables -P FORWARD ACCEPT
$ sudo iptables -t nat -A POSTROUTING -o enp2s0 -j MASQUERADE
# 保存iptables的设置
$ sudo iptables-save | sudo tee /etc/iptables/rules.v4
$ sudo vim /etc/modules
# 在文件的最后一行添加:ifb
注意:启用 ifb 的时候有一个 bug,导致 numifbs 不起作用,详情点击:https://bugs.launchpad.net/ubuntu/+source/kmod/+bug/1543183
$ sudo vim /etc/network/interfaces
auto lo
iface lo inet loopback
auto enp5s0
iface enp5s0 inet static
address 192.168.5.1
netmask 255.255.255.0
broadcast 192.168.5.255
gateway 192.168.5.2
auto ifb0
iface ifb0 inet manual
up ifconfig $IFACE up
# 安装相关的软件包
$ sudo apt install dhcpd
$ sudo apt install isc-dhcp-server
# 编辑文件,配置udhcpd服务
$ sudo vim /etc/dhcp/dhcpd.conf
将下面的内容:
#subnet 10.254.239.0 netmask 255.255.255.224 {
# range 10.254.239.10 10.254.239.20;
# option routers rtr-239-0-1.example.org, rtr-239-0-2.example.org;
#}
修改为:
subnet 192.168.5.0 netmask 255.255.255.0 {
range 192.168.5.100 192.168.5.199;
option routers 192.168.5.1;
option domain-name-servers 114.114.114.114;
}
$ sudo vim /etc/default/isc-dhcp-server
将下面的内容:
INTERFACESv4=""
修改为:
INTERFACESv4="enp5s0"
# 启动DHCP服务
$ systemctl enable isc-dhcp-server
执行到当前位置,基础的环境搭建完成。
[Unit]
Description=FRP Client Daemon
After=network.target
Wants=network.target
[Service]
Type=simple
ExecStart=/home/yhx/Desktop/start.sh(添加脚本的路径)
Restart=always
RestartSec=20s
User=nobody
[Install]
WantedBy=multi-user.target
安装deb
https://github.com/stephenyin/tcconfig/releases/download/v0.23.3/tcconfig_0.23.3_amd64.deb
https://filezilla-project.org/
$ sudo dpkg -i ./tcconfig_0.23.3_amd64.deb
$ tcset --version
tcset 0.23.3
使用方法
tcset eth0 --rate 100Kbps
tcset eth0 --delay 100ms
tcset eth0 --delay 10sec
tcset eth0 --delay 0.5min
tcset eth0 --loss 0.1%
$ tcshow enp2s0
$ tcdel enp2s0 --all
tcshow eth0 eth1 > tcconfig.json
tcset tcconfig.json --import-setting
# 限制 IP 源地址为 192.168.5.101 的设备发送到目的端口 5201 的上行带宽 500kbps + 上行丢包 30% + 上行延迟 100ms
$ tcset enp2s0 --rate 500kbps --loss 30 --delay 100ms --delay-distro 0ms --direction incoming --src-network 192.168.5.101 --port 5201
# 查看 enp2s0 网卡上当前已设置好的网损设置
$ tcshow enp2s0
{
"enp2s0": {
"outgoing": {
"dst-network=192.168.5.101/32, protocol=ip": {
"filter_id": "800::800",
"rate": "1G"
}
},
"incoming": {
"src-network=192.168.5.101/32, dst-port=5201, protocol=ip": {
"filter_id": "800::800",
"delay": "100.0ms",
"loss": 30,
"rate": "500K"
}
}
}
}
# 删除 enp2s0 网卡上的所有网损设置
$ tcdel enp2s0 --all