在Linux命令行中联网有多种方法,具体取决于网络类型(有线/无线)和配置需求。以下为常见操作及扩展知识:
1. 使用`ifconfig`或`ip`命令配置网络
临时配置IP地址:
bash
sudo ip addr add 192.168.1.100/24 dev eth0
sudo ip link set eth0 up
或传统方法:
bash
sudo ifconfig eth0 192.168.1.100 netmask 255.255.255.0 up
*注:`ifconfig`已逐渐被`ip`命令取代,部分新发行版需安装`net-tools`包。*
设置默认网关:
bash
sudo ip route add default via 192.168.1.1
2. 使用`nmcli`(NetworkManager命令行工具)
连接有线网络:
bash
nmcli con add type ethernet ifname eth0 con-name my-eth
nmcli con up my-eth
连接Wi-Fi(需SSID和密码):
bash
nmcli dev wifi list # 扫描Wi-Fi
nmcli dev wifi connect SSID password 密码
*适合桌面环境或NetworkManager服务已启用的系统。*
3. 使用`wpa_supplicant`连接Wi-Fi(无GUI环境)
生成配置文件:
bash
wpa_passphrase "SSID" "密码" | sudo tee /etc/wpa_supplicant.conf
启动连接:
bash
sudo wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf -B
sudo dhclient wlan0 # 获取IP
*需手动指定网卡名(如`wlan0`),适合服务器或嵌入式设备。*
4. DHCP自动获取IP
通过`dhclient`:
bash
sudo dhclient eth0 # 有线
sudo dhclient wlan0 # 无线
*部分系统可能使用`dhcpcd`或`systemd-networkd`。*
5. 手动设置DNS
修改`/etc/resolv.conf`(临时生效):
bash
echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf
永久配置(依发行版而定):
- Ubuntu/Debian:修改`/etc/netplan/*.yaml`或`/etc/network/interfaces`。
- CentOS/RHEL:编辑`/etc/sysconfig/network-scripts/ifcfg-eth0`。
6. 网络测试与诊断
检查连接:
bash
ping -c 4 baidu.com # 测试连通性
ip route show # 查看路由表
curl ifconfig.me # 获取公网IP
排查DNS:
bash
nslookup baidu.com
dig baidu.com
扩展知识
绑定多IP:使用`ip addr add`为单网卡添加多个IP。
VPN连接:通过`openvpn --config file.ovpn`连接VPN。
代理设置:
bash
export http_proxy="http://proxy_ip:port"
防火墙:用`iptables`或`nftables`管理网络规则。
网络命名空间:`ip netns`实现隔离的网络环境,常用于容器技术。
根据需求选择合适方法,复杂场景可能需要组合工具。系统版本和网络环境差异可能导致命令细节不同。