Я должен подключить четыре компьютера последовательно. Топология дана ниже.
c1<--->c2<--->c3<--->c4
У меня есть несколько плат Ethernet в c2 и c3 компьютерах. Мне не нужна никакая внешняя возможность соединения из Интернета, просто эти четыре компьютера должны смочь общаться друг с другом.
Примечание: все компьютеры выполняют версию Ubuntu, больше, чем равный 16,04.
Заранее спасибо.
Знайте, что Ваши сетевые платы поддерживают и прямой и перекрестный кабель. Если не Вы должны будете перекрестно соединить кабели Ethernet.
Затем после того как все устройства подключены:
Позвольте передать
Сначала активируйте передачу IPv4 на своих устройствах.
Для включения его на лету, можно использовать:
echo 1 > /proc/sys/net/ipv4/ip_forward
Чтобы включить ему permantly, отредактируйте файл /etc/sysctl.confand
не прокомментируйте строку с сетью ipv4.ip_forward = 1. Затем перезагрузите conf: sysctl -p /etc/sysctl.conf
.
Определите IP и маршруты
Затем настройте IP и маршруты Ваших устройств.
Для выполнения этого, можно отредактировать непосредственно файл/etc/network/interfaces.
Пример:
auto eth0
iface eth0 inet static
address 192.168.1.1 # c1, configure the same subnet in the c2 interface that is connected to the c1 device
netmask 255.255.255.0
up route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.1.1
Если все Ваши устройства находятся в той же подсети, Вам не нужно к маршрутам дескрайбера.
Отладить/Подтвердить
Если это не работает, проверьте Брандмауэр и отредактируйте его при необходимости:
sudo iptables -L
Надеюсь эта справка ответа.
Править
Так как C2 непосредственно подключен к обеим подсетям, просто необходимо установить маршрут на третью сеть.
Можно указать несколько интерфейсов в/etc/network/intefaces
auto [interface1]
iface [interface1] inet static
address 192.168.1.2 # The same subnet that is configure for C1
netmask 255.255.255.0
# You don't need specific route for this interface because there is no another network behind C1
auto [interface2]
iface [interface2] inet static
address 192.168.2.1 # C2<--->C3 subnet
netmask 255.255.255.0
up route add -net 192.168.3.0 netmask 255.255.255.0 gw 192.168.2.2 # Where 192.168.3.0 is the C3<-->C4 subnet and 192.168.2.2 the C3 address of the interface in the subnet C2<-->C3
Я не протестировал эту конфигурацию, но это должно работать. После того как Вы заканчиваете настраивать Вас, может проверить маршруты с ip route
команда.
C3 и C2 имеют прямой маршрут к обеим сетям. Таким образом, просто необходимо определить маршрут к третьей сети (C3 <-> C4 для C2 и C1 <-> C2 для C3). После того как C2 и C3 имеют доступ ко всей сети, у Вас просто есть к определенному они как шлюз по умолчанию для C1 и C4.