Java在Debian上的网络设置需结合系统网络配置和Java应用参数,核心步骤如下:
/etc/network/interfaces,添加如下内容(以eth0为例):auto eth0 iface eth0 inet static address 192.168.1.100 netmask 255.255.255.0 gateway 192.168.1.1 dns-nameservers 8.8.8.8 8.8.4.4 auto eth0 iface eth0 inet dhcp sudo systemctl restart networking /etc/netplan/01-netcfg.yaml:network: version: 2 ethernets: eth0: dhcp4: no addresses: [192.168.1.100/24] gateway4: 192.168.1.1 nameservers: addresses: [8.8.8.8, 8.8.4.4] sudo netplan apply sudo apt install network-manager sudo systemctl enable NetworkManager nmcli con mod "有线连接" ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns "8.8.8.8" ipv4.method manual nmcli con up "有线连接" -D参数指定代理、DNS等:java -Dhttp.proxyHost=proxy.example.com -Dhttp.proxyPort=8080 -jar yourApp.jar java.net.Socket类,IP和端口由系统网络决定。Socket socket = new Socket("192.168.1.1", 8080); // 依赖系统网络配置 NetworkInterface类获取可用网卡,动态选择IP。Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces(); while (interfaces.hasMoreElements()) { NetworkInterface ni = interfaces.nextElement(); System.out.println(ni.getName() + ": " + ni.getInetAddresses()); } ping 8.8.8.8 # 测试互联网连通性 ip addr show # 查看IP配置是否生效 telnet或curl测试端口连通性:telnet example.com 80 SocketException,排查网络异常。netplan,避免混合使用/etc/network/interfaces和netplan导致冲突。wpasupplicant并编辑/etc/wpa_supplicant/wpa_supplicant.conf。ufw)限制Java应用的网络访问权限。参考来源: