跳至主要內容

网络与端口

chanchaw大约 3 分钟ubuntu

设置代理

下面是设置服务器的网络代理

# 编辑 ~/.bashrc 或 ~/.profile
vim ~/.bashrc

# 添加以下内容
export http_proxy="http://192.168.0.68:7897"
export https_proxy="http://192.168.0.68:7897"
export ftp_proxy="http://192.168.0.68:7897"
export no_proxy="localhost,127.0.0.1,192.168.0.0/16,10.0.0.0/8"

# 使配置生效
source ~/.bashrc

下面是设置 apt 的代理

# 如果没有该文件会自动创建
sudo vim /etc/apt/apt.conf.d/95proxy

# 黏贴下面所有代码并保存
# APT 代理设置
Acquire::http::proxy "http://192.168.0.68:7897";
Acquire::https::proxy "http://192.168.0.68:7897";
Acquire::ftp::proxy "ftp://192.168.0.68:7897";

# 如果有 SOCKS5 代理
# Acquire::socks::proxy "socks5://192.168.0.68:7897";

# 不需要代理的地址(本地网络)
Acquire::http::proxy::localhost "DIRECT";
Acquire::http::proxy::127.0.0.1 "DIRECT";
Acquire::http::proxy::192.168.* "DIRECT";
Acquire::http::proxy::10.* "DIRECT";
Acquire::http::proxy::172.16.* "DIRECT";

# 查看设置代理是否成功
sudo apt-config dump | grep -i proxy

# 如果仍然不成功,可搜索不对的端口号的配置文件
sudo grep -r "7890" /etc/apt/apt.conf.d/ --include="*.conf"
# 修改配置
sudo vim /etc/apt/apt.conf.d/proxy.conf
# 修改其中不对的端口号

iperf3

# 安装 iperf3
sudo apt install iperf3 -y

# 开启服务端
iperf3 -s

# 开启客户端
iperf3 -c [服务端IP地址]

# 查看版本号
iperf3 --version

设置静态IP

下面是在新安装的 ubuntu22 上设置静态 IP 的方法

详情

将下面代码保存为文件 set_static_ip.sh

#!/bin/bash

# 交互式静态IP设置脚本

echo "=== Ubuntu 22.04 静态IP设置脚本 ==="

# 自动检测网络接口
INTERFACE_NAME=$(ip route | grep default | awk '{print $5}' | head -n1)
echo "检测到的网络接口: $INTERFACE_NAME"

# 显示当前IP配置
echo -e "\n当前IP配置:"
ip addr show $INTERFACE_NAME

# 用户输入配置
echo -e "\n请输入网络配置信息:"
read -p "IP地址 (默认: 192.168.0.122): " IP_ADDRESS
IP_ADDRESS=${IP_ADDRESS:-192.168.0.122}

read -p "子网掩码 (默认: 24): " SUBNET_MASK
SUBNET_MASK=${SUBNET_MASK:-24}

read -p "网关 (默认: 192.168.0.1): " GATEWAY
GATEWAY=${GATEWAY:-192.168.0.1}

read -p "DNS服务器 (逗号分隔, 默认: 114.114.114.114,223.5.5.5): " DNS_SERVERS
DNS_SERVERS=${DNS_SERVERS:-114.114.114.114,223.5.5.5}

NETPLAN_FILE="/etc/netplan/00-installer-config.yaml"

echo -e "\n配置摘要:"
echo "接口: $INTERFACE_NAME"
echo "IP地址: $IP_ADDRESS/$SUBNET_MASK"
echo "网关: $GATEWAY"
echo "DNS: $DNS_SERVERS"

read -p "确认应用此配置? (y/n): " CONFIRM

if [ "$CONFIRM" != "y" ] && [ "$CONFIRM" != "Y" ]; then
    echo "操作已取消"
    exit 1
fi

# 备份原有配置
if [ -f "$NETPLAN_FILE" ]; then
    sudo cp "$NETPLAN_FILE" "$NETPLAN_FILE.backup.$(date +%Y%m%d%H%M%S)"
    echo "已备份原配置文件"
fi

# 创建新配置
sudo tee "$NETPLAN_FILE" > /dev/null <<EOF
network:
  version: 2
  renderer: networkd
  ethernets:
    $INTERFACE_NAME:
      addresses:
        - $IP_ADDRESS/$SUBNET_MASK
      routes:
        - to: default
          via: $GATEWAY
      nameservers:
        addresses: [$DNS_SERVERS]
EOF

echo "配置文件已创建"

# 应用配置
echo "正在应用网络配置..."
sudo netplan apply

echo -e "\n静态IP设置完成!"
echo "验证命令:"
echo "  ip addr show $INTERFACE_NAME"
echo "  ping -c 3 $GATEWAY"

赋予可执行权限 chmod +x set_static_ip.sh,然后运行脚本 sudo ./set_static_ip.sh,通过下面方法验证

ip addr show
ping -c 3 192.168.0.1
nslookup google.com

如果出现如下错误提示

** (generate:4461): WARNING **: 14:10:47.184: Permissions for /etc/netplan/00-installer-config.yaml are too open. Netplan configuration should NOT be accessible by others.
WARNING:root:Cannot call Open vSwitch: ovsdb-server.service is not running.

按照下面步骤解决报错

# 通过以下命令将配置文件的权限设置为仅允许root用户读写
sudo chmod 600 /etc/netplan/00-installer-config.yaml

执行 ls -l /etc/netplan/00-installer-config.yaml 检查权限,正确的结果应为 -rw------- 1 root root。关于 Open vSwitch 的警告是因为没有安装

# 检查是否安装,如果没有输出说明没有安装
dpkg -l | grep openvswitch-switch
# 执行安装
sudo apt update
sudo apt install openvswitch-switch
# 启动服务
sudo systemctl start openvswitch-switch
sudo systemctl status openvswitch-switch
# 设置开机启动
sudo systemctl enable openvswitch-switch

最后再次执行 sudo ./set_static_ip.sh