房间的墙上有两个以太网连接。第一个具有外部 IP 地址并连接到计算机 C1,而另一个具有内部(大学网络)地址并连接到计算机 C2:
(internet 1) ---- C1
(internet 2) ---- Switch ---- C2
我希望能够从外部 IP 地址登录 C2,方法是先登录 C1,然后执行操作ssh 192...
以访问 C2。因此,我希望从 C1 到路由器建立第二个连接,如下所示:
(internet 1) ---- C1
|
(internet 2) ---- Switch ---- C2
C1 有两个以太网连接,eth0
并且eth1
.eth0
有外部 IP 地址。
因此我将eth1
C1 插入交换机,但是随后我就无法再从外部访问 C1。
如果我这样做ifdown eth1
,则eth0
重新启动 C1 后就可以再次通过外部 IP 地址进行连接。
始终可以从本地(192......)IP 地址进行连接,无论eth1
处于开启状态还是关闭状态。
外部IP是固定的,而本地IP地址是通过DHCP获取的。
也许我遗漏了关键的技术搜索术语,因为在互联网上搜索解决方案没有成功。任何建议都将不胜感激。
为了参考,下面复制了 C1 上的 ifconfig 信息。谢谢。
eth0 Link encap:Ethernet HWaddr 0D:D4:7A:31:E1:D6
inet addr:145.18.73.25 Bcast:145.18.73.255 Mask:255.255.254.0
inet6 addr: fd80::ac8:7aff:fe31:e1d6/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2711 errors:0 dropped:0 overruns:0 frame:0
TX packets:417 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:358816 (350.4 KiB) TX bytes:174963 (170.8 KiB)
eth1 Link encap:Ethernet HWaddr 0D:D4:7A:31:E1:D7
inet addr:192.168.2.176 Bcast:192.168.2.255 Mask:255.255.255.0
inet6 addr: fd80::ac8:7aff:fe31:e1d7/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:142 errors:0 dropped:0 overruns:0 frame:0
TX packets:9 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:10196 (9.9 KiB) TX bytes:894 (894.0 b)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:7010 errors:0 dropped:0 overruns:0 frame:0
TX packets:7010 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1276612 (1.2 MiB) TX bytes:1276612 (1.2 MiB)
根据 Ipor Sircer 的善意评论,我查看了网关信息:
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.100.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
145.18.72.0 0.0.0.0 255.255.254.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
0.0.0.0 145.18.73.254 0.0.0.0 UG 0 0 0 eth0
$ ifup eth1
Determining IP information for eth1... done.
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.100.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
145.18.72.0 0.0.0.0 255.255.254.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1003 0 0 eth1
0.0.0.0 192.168.2.1 0.0.0.0 UG 0 0 0 eth1
$ cat /etc/sysconfig/networking/profiles/default/ifcfg-eth0
EVICE=eth0
BOOTPROTO=none
IPV6INIT=yes
IPV6_AUTOCONF=yes
NM_CONTROLLED=no
TYPE=Ethernet
ONBOOT=yes
HWADDR=0d:d4:7a:31:e1:d6
USERCTL=no
IPADDR=145.18.73.25
NETMASK=255.255.254.0
DNS2=145.18.1.6
GATEWAY=145.18.73.254
DNS1=145.18.6.1
$ cat /etc/sysconfig/networking/profiles/default/ifcfg-eth1
DEVICE=eth1
BOOTPROTO=dhcp
IPV6INIT=yes
IPV6_AUTOCONF=yes
NM_CONTROLLED=yes
TYPE=Ethernet
ONBOOT=no
USERCTL=no
HWADDR=0d:d4:7a:31:e1:d7
DNS1=192.168.2.1
PEERDNS=yes
我感觉 eth1 正在覆盖 eth0 的一些路由设置,但我不确定下一步需要做什么。
答案1
如您所见,您的默认路由(0.0.0.0)从 处的 145.18.73.254 更改eth0
为 处的 192.168.2.1 eth1
。 (顺便说一句,获取路由的更现代的方式是ip route
。ip -6 route
)。
router
当 DHCP 客户端通过 DHCP 协议接收到eth1
激活的信息时,网关就会被设置。
为了防止这种情况发生,您需要一个dhclient.conf
(通常/etc/dhcp/dhclient.conf
是,可能因发行版而异)文件,其中包含不包含的修改过的requst
节。有关详细信息,请参阅和。eth1
router
man dhclient
man dhclient.conf
答案2
除此以外,/etc/sysconfig/networking/profiles/default/ifcfg-eth1
还有另一个文件/etc/sysconfig/network-scripts/ifcfg-eth1
。从该文件中删除GATEWAY=192.168.2.1
行,然后删除ifup eth1
将得到一个有效的配置。作为参考,整个文件如下所示:
DEVICE=eth1
BOOTPROTO=dhcp
IPV6INIT=yes
IPV6_AUTOCONF=yes
NM_CONTROLLED=no
TYPE=Ethernet
ONBOOT=no
USERCTL=no
HWADDR=0d:d4:7a:31:e1:d7
DNS1=192.168.2.1
PEERDNS=yes
感谢 Ipor Sircer 和 dirkt 的帮助。