В стене комнаты есть два Ethernet-соединения. Первый имеет внешний IP-адрес и подключен к компьютеру C1, а другой имеет внутренний (университетский) адрес и подключен к компьютеру C2:

(internet 1) ---- C1

(internet 2) ---- Switch ---- C2

Я хочу иметь возможность войти в C2 с внешнего IP-адреса, сначала войдя в C1, а затем выполнить ssh 192... чтобы добраться до C2. Поэтому я хочу второе соединение от C1 до маршрутизатора, например, так:

(internet 1) ---- C1
                   |
(internet 2) ---- Switch ---- C2

C1 имеет два соединения Ethernet, eth0 и eth1 . eth0 есть внешний IP-адрес.

Поэтому я подключил eth1 на С1 к коммутатору, но тогда я больше не могу получить доступ к С1 извне.

Если я сделаю ifdown eth1 , то после перезагрузки C1 соединение через eth0 с внешнего IP-адреса снова станет возможным.

Подключение с местного (192 ...) IP-адрес всегда возможен, независимо от того, установлено ли значение eth1 .

Внешний IP-адрес фиксирован, а локальный IP-адрес получен через DHCP.

Возможно, мне не хватает ключевых технических терминов поиска, потому что поиск в Интернете для решения был неудачным. Любой совет будет принята с благодарностью.

Для справки, информация ifconfig на C1 скопирована ниже. Спасибо.

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, но я не уверен, что мне нужно делать дальше.

2 ответа2

1

Как видите, ваш маршрут по умолчанию (0.0.0.0) изменяется с 145.18.73.254 в eth0 до 192.168.2.1 в eth1 . (Кстати, более современный способ получения маршрутов - это ip route или ip -6 route .).

Шлюз устанавливается, когда клиент DHCP получает информацию о router по протоколу DHCP, когда eth1 становится активным.

Чтобы этого не происходило, вам нужен файл dhclient.conf (обычно /etc/dhcp/dhclient.conf , может отличаться в зависимости от дистрибутива) с измененной requst для eth1 , которая не включает router . Смотрите man dhclient и man dhclient.conf для деталей.

0

В дополнение к /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

Спасибо Ипору Сирсеру и Диркту за помощь.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .