有没有办法从假路由器连接到真正的路由器(服务器)?

有没有办法从假路由器连接到真正的路由器(服务器)?

设想:

               +---+        
           eth0| S |        +----------+
internet ======|   |        |          |------PC1
               | / |        |  switch  |------PC2
               |   |========|          |------PC3
               | R |eth1    +----------+
               +---+

S/R:服务器作为路由器

eth0: connection from the internet/other network        
eth1: internal network        
PC1,PC2,PC3: Ubuntu OS  

*另外的PC4连接到Windows操作系统的交换机。

我将 PC1、PC2 和 PC4 设置为自动 DHCP,以便可以访问网络和互联网,但是

PC3 is on static.      
PC3 has an IP address same of a router(dhcp:interface=eth1). e.g.        

PC3:(fake)           
address 192.168.1.2          
network 192.168.1.0             
netmask 255.255.255.0              
gateway 192.168.1.2  

问题遭遇:
PC4可以访问网络/互联网,而
PC1和PC2却不能。

观察:
Windows 操作系统可以自动检测真实网关(路由器),而
Ubuntu 操作系统则不能。:(

如果有人配置了与网关(路由器)相同的静态 IP,我们该如何解决这个问题?

答案1

说实话,这听起来更像是用户问题,而不是技术问题。如果人们无法正确配置他们的设备,就不要让他们进入你的家庭网络。

手动配置地址时,人们倾向于从地址空间的低端选择地址。您可以将网关移至 .254,将 DHCP 池设置为 .100 - .199,并将静态分配的地址保留在子网的低端。记得记录所有内容(一张便签就可以了!),这样人们就不会重复使用现有的分配。

您还可以在 PC 上手动设置 ARP 表,将 192.168.1.2 指向 S/R 的 eth1 接口。在 Linux PC 上,运行以太网接口sudo arp -i <iface> -s 192.168.1.2 <macaddr>在哪里,可能是。是 S/R 上 eth1 适配器的硬件 MAC 地址,您可以在服务器上运行找到它。<iface>eth0<macaddr>ifconfig eth1

如果您是专业的网络管理员,您可能已经拥有技能和硬件预算来防止配置错误的主机破坏网络。

答案2

/etc/网络/接口

...

iface eth0 inet dhcp
post-up arp -i <iface> -s 192.168.1.2 <macaddr>    

...

相关内容