CentOS Golang网络如何配置
导读:CentOS 上 Go 语言网络配置 一 系统网络与防火墙 查看网卡名称与地址:ip addr;临时设置 IP 与网关可用 ifconfig 与 route(重启失效)。 静态 IP 永久配置(传统 ifcfg 文件):编辑 /etc/s...
CentOS 上 Go 语言网络配置
一 系统网络与防火墙
- 查看网卡名称与地址:ip addr;临时设置 IP 与网关可用 ifconfig 与 route(重启失效)。
- 静态 IP 永久配置(传统 ifcfg 文件):编辑 /etc/sysconfig/network-scripts/ifcfg-ensXX,示例:
BOOTPROTO=static;ONBOOT=yes;IPADDR=192.168.1.100;NETMASK=255.255.255.0;GATEWAY=192.168.1.1;DNS1=8.8.8.8;DNS2=8.8.4.4。应用:sudo systemctl restart network。 - 或使用 NetworkManager:nmcli con show;nmcli con mod “ens160” ipv4.addresses 192.168.1.100/24;ipv4.gateway 192.168.1.1;ipv4.dns “8.8.8.8 8.8.4.4”;ipv4.method manual;nmcli con down “ens160” & & nmcli con up “ens160”。
- 防火墙放行端口(HTTP/HTTPS 示例):firewall-cmd --permanent --zone=public --add-service=http;firewall-cmd --permanent --zone=public --add-service=https;firewall-cmd --reload。
二 Go 与网络相关的环境变量
- HTTP/HTTPS 代理(终端与 Go 程序均生效):在 ~/.bashrc 或 ~/.zshrc 中添加
export HTTP_PROXY=http://proxy.example.com:8080
export HTTPS_PROXY=http://proxy.example.com:8080(如需认证:http://user:pass@proxy.example.com:8080),执行 source 使其生效。 - 不走代理的地址:export NO_PROXY=localhost,127.0.0.1,example.com。
- Go 模块代理(国内常用镜像):export GOPROXY=https://goproxy.cn,direct。
- Go 网络调试:export GODEBUG=net=1。
三 连通性验证与常见问题
- 系统层验证:ping -c 4 www.baidu.com;ip addr/route -n 检查地址与路由;ss -tulpen 或 netstat -tulpen 检查监听端口。
- Go 程序验证(示例):
package main
import (“fmt”; “net/http”)
func main() { resp, err := http.Get(“https://www.example.com”); if err != nil { panic(err) } ; defer resp.Body.Close(); fmt.Println(“Status:”, resp.Status) }
运行:go run test.go,返回 200 表示网络与代理配置正常。 - 常见问题排查:
- DNS 解析失败:检查 /etc/resolv.conf 是否包含 nameserver(如 8.8.8.8);
- 代理不通:确认代理地址、端口、认证信息,以及 NO_PROXY 是否覆盖了目标域名;
- 端口未放行:firewall-cmd --list-ports 与 --list-services 核对,必要时放行对应端口并重载防火墙。
四 可选的系统级网络参数优化
- 内核网络参数(/etc/sysctl.conf):
net.ipv4.tcp_rmem=4096 87380 16777216;net.ipv4.tcp_wmem=4096 65536 16777216;net.ipv4.tcp_max_syn_backlog=2048;net.ipv4.ip_local_port_range=1024 65535;执行 sysctl -p 生效。 - Go 运行时网络调试:GODEBUG=net=1 可输出更详细的网络事件,便于定位连接、解析与超时问题。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS Golang网络如何配置
本文地址: https://pptw.com/jishu/782803.html
