我简直是迷茫了,非常沮丧。我有两台运行 Mageia (5) Linux 的计算机,我想使用交叉电缆将它们直接连接在一起。因此,我的程序可以在以太网之间进行通信。我似乎一直都不知道该怎么做。我在 Google 上搜索,并在 Stackoverflow 等网站上搜索解决方案,并按照这些答案建议的一些步骤进行操作。但似乎没有任何帮助。我访问了 Mageia 网站,其中一个页面上说只需为每台机器设置 ip 地址和网络掩码,然后用电缆将它们连接在一起。然后,测试连接,但根本不起作用。当我添加网关 192.168.1.1 以及 ip 地址和网络掩码,其他一切都为空白时,它说我已连接。但是,当我尝试 PING 另一台机器时,它说主机无法访问。
任何帮助或指导都将不胜感激。
答案1
这应该不难……如果不是你的网络管理器,它会尝试从不存在的 DHCP 服务器获取 IP 地址,然后优先使用有线连接而不是 wifi,从而删除你的默认网关,并切断你的互联网连接。所以:停止你的网络管理器
systemctl stop network-manager
service network-manager stop
(我不知道 Mageia 是否使用systemd或者不行,但至少上述命令之一可以工作),然后为你的电缆接口提供一个 IP 地址
ip addr add 10.0.122.1/24 dev eth0
(如果没有调用接口eth0请相应调整)。无需添加其他路线。在另一台电脑上执行完全相同的操作,但您必须使用
ip addr add 10.0.122.2/24 dev eth0
,IE不同的 IP 地址。现在您应该能够从一台机器 ping 另一台机器了。
如果你需要同时通过 wifi 传输数据,则必须手动执行此操作,因为网络管理器会将你带入你刚刚挖出的同一个坑中。所以:
ip route del default
wpa_passphrase MyNetworkName MySecretPassword > mydata.txt
wpa-Supplicant -B -i wlan0 -Dnl80211 -c mydata.txt
dhclient -v wlan0
一切就绪。如果没有,请添加以下路由规则:
ip route add default via IPAddressOfYourRouter dev wlan0
现在你可以做任何你想做的事了。如果你还需要数据,请转到另一台电脑,那么您必须在通过 wifi 连接的电脑上输入以下命令:
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
在电脑上仅有的通过电缆连接,
ip route add default via 10.0.122.1 dev eth0
您已经完成。
完成后,拔下电缆并重新启动网络管理器。