TCP 连接在我的本地网络上仅单向工作(尝试连接 Synergy)

TCP 连接在我的本地网络上仅单向工作(尝试连接 Synergy)

我正在使用 Synergy 将我的桌面(GNU/Linux,通过电缆连接到路由器)连接到我的笔记本电脑(OSX ElCapitan,通过 WiFi 连接)。

如果我使用笔记本电脑作为服务器,它就会运行得非常好;

从桌面(客户端):

me@my-desktop ~ $ sudo lsof -i :24800
COMMAND   PID    USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
synergyc 5533      me    6u  IPv4  46314      0t0  TCP 192.168.0.2:38706->192.168.0.3:24800 (ESTABLISHED)

从笔记本电脑(服务器)来看:

My-MacBook-Pro:~ me$ sudo lsof -i :24800
COMMAND    PID    USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
synergys 17646      me    4u  IPv4 0x728ca44823ae6a59      0t0  TCP *:24800 (LISTEN)
synergys 17646      me   14u  IPv4 0x728ca44822d02fb9      0t0  TCP 192.168.0.3:24800->192.168.0.2:38706 (ESTABLISHED)

但当我切换时,它却无法连接。(在 Synergy 中我得到:连接超时)。

从桌面(现在是服务器):

me@my-desktop ~ $ sudo lsof -i :24800
COMMAND   PID    USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
synergys 5611      me    6u  IPv4  45707      0t0  TCP *:24800 (LISTEN)

从笔记本电脑(现在是客户端)来看:

My-MacBook-Pro:~ me$ sudo lsof -i :24800
COMMAND    PID    USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
synergyc 17662      me    4u  IPv4 0x728ca4482eed3c39      0t0  TCP 192.168.0.3:60629->192.168.0.2:24800 (SYN_SENT)

我认为这是一种网络/防火墙问题,而不是 Synergy 问题。

那么我该如何解决这个问题呢?哪台机器阻止了通信?我的理解是,由于我的台式机正在监听,因此其端口必须打开。而我的笔记本电脑发送了一个请求,那么通信被阻止在哪里呢?

答案1

台式机阻止了笔记本电脑的请求。只需打开端口即可解决问题。在终端中写入以下内容以打开端口:

sudo iptables -I INPUT -p tcp --dport 24800 --syn -j ACCEPT

相关内容