У меня есть многоканальный порт для установки сервера Ubuntu 11.10.
Я настроил сеть в файле /etc/network/interfaces
следующим образом:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.128.254
netmask 255.255.255.0
network 192.168.128.0
broadcast 192.168.128.255
gateway 192.168.128.1
dns-nameservers xxxxxx
auto eth1
iface eth1 inet static
address 192.168.11.1
netmask 255.255.255.0
network 192.168.11.0
broadcast 192.168.11.255
auto eth2
iface eth2 inet static
address 192.168.21.1
netmask 255.255.255.0
network 192.168.21.0
broadcast 192.168.21.255
auto eth3
iface eth3 inet static
address 192.168.31.1
netmask 255.255.255.0
network 192.168.31.0
broadcast 192.168.31.255
Я также включил IP-пересылку с помощью echo 1 > /proc/sys/net/ipv4/if_forward
в rc.local
.
мой конфиг dnsmasq, как следует
except-interface=eth0
dhcp-range=interface:eth1,set:wifi,192.168.11.101,192.168.11.200,255.255.255.0
dhcp-range=interface:eth2,set:kids,192.168.21.101,192.168.21.200,255.255.255.0
dhcp-range=interface:eth3,set:game,192.168.31.101,192.168.31.200,255.255.255.0
dhcp работал нормально в eth1, eth2, eth3, любой плагин в подсети может получить корректный ip подсети.
Моя проблема заключалась в том, что каждая машина подсети не может пропинговать друг друга. например.
192.168.11.101 не может пропинговать 192.168.21.101, но может пропинговать 192.168.128.1
192.168.31.101 не может пропинговать 192.168.21.101, но может пропинговать 192.168.128.1
Я также попытаться выполнить следующую команду:
route add -net 192.168.11.0 netmask 255.255.255.0 gw 192.168.11.1
(а также 192.168.21.0/192.168.31.0) на этом компьютере с множеством портов.
Но все равно не сработает.
Кто-нибудь может помочь? Спасибо.
----------- Следующий ответ ------------
Также возможно, что вы неправильно настроили шлюз для каждого интерфейса. Пожалуйста, настройте интерфейсы следующим образом:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.128.254
netmask 255.255.0.0
gateway 192.168.1.1
network 192.168.128.0
broadcast 192.168.128.255
dns-nameservers xxxxxx
auto eth1
iface eth1 inet static
address 192.168.11.1
netmask 255.255.0.0
network 192.168.11.0
broadcast 192.168.11.255
auto eth2
iface eth2 inet static
address 192.168.21.1
netmask 255.255.0.0
network 192.168.21.0
broadcast 192.168.21.255
auto eth3
iface eth3 inet static
address 192.168.31.1
netmask 255.255.0.0
network 192.168.31.0
broadcast 192.168.31.255
С этими изменениями все интерфейсы должны смотреть на один и тот же шлюз и правильно обмениваться данными. Возможно, вам придется удалить некоторые из маршрутов, которые вы сделали.
Привет я ветчина, имеющая сценарий, где я использую 3 lancards и они могут проверить с помощью ping-запросов, я просто подниму, как я имею, настраивают u, видят, является ли это работами для Вас или не, поскольку я думаю, что u должен включить пакетную передачу/etc/sysctl.conf и может быть Вами, должен будет также использовать iptables для маршрутизации пакетов. Также отключите брандмауэр, если это, включают для проверки. Я знаю, что Вы имеете, имеют, настраивают почти похожим способом, все еще может дать попытку, поскольку я могу проверить с помощью ping-запросов использование ниже конфигурации
/etc/network/interfaces:
автоматический lo iface lo inet обратная петля
автоматический eth0 iface eth0 inet статический адрес 192.168.1.15 сетевых маски 255.255.255.0 шлюзов 192.168.1.1
автоматический eth1 iface eth1 inet статический адрес 10.0.0.15 сетевых маски 255.0.0.0
автоматический wlan0 iface wlan0 inet статический адрес 10.0.1.15
Дайте статический IP, но просто упомяните правильный шлюз для соответствия
ПК 1 IP-адрес - 10.0.0.21 маски подсети - 255.0.0.0 шлюза - 10.0.0.15 DNS - 10.0.0.15 DNS - 192.168.1.15
ПК 2 IP-адреса - 10.0.1.21 маски подсети - 255.255.255.0 шлюзов - 10.0.1.15 DNS - 10.0.1.15 DNS - 192.168.1.15
Я имею, включают пакетную передачу для IPv4 и IPv6 (/etc/sysctl.conf)
Сеть ipv4.ip_forward = 1
Сеть ipv6.conf.all.forwarding = 1
Это еще должно работать, необходимо также использовать iptables, и маршрут упоминания для каждого интерфейса u нуждаются в Hope, это работает
Я не хорош с iptables, я нашел это в сети и упоминающий ниже того же
В случае, если, если необходимо использовать iptable попытку ниже, изменяют интерфейс, поскольку u должен записать строки для всех интерфейсов, поскольку ниже пример для 1 интерфейса только как только 1 интерфейс. Я n, для которого этот случай, я думаю eth0, будет способный проверить с помощью ping-запросов к eth1 наоборот u, должен упомянуть ту же строку для eth1 также
sudo iptables-t туземная ПОДМЕНА-A POSTROUTING-o eth0-j
sudo iptables-A ВПЕРЕД состояние-i eth0-o eth1-m - состояние СВЯЗАННЫЙ, УСТАНОВЛЕННЫЙ-j ПРИНИМАЮТ
sudo iptables-A ВПЕРЕД-i eth1-o eth0-j ПРИНИМАЮТ
То, что вы пытаетесь сделать, называется «Multihoming» с несколькими ссылками и несколькими адресными пространствами. Проблема, с которой вы сталкиваетесь, заключается в том, что между различными интерфейсами не настроена и не включена маршрутизация / сеть.
Чтобы трафик передавался между интерфейсами назад и вперед, их необходимо подключить через внутренний интерфейс. Тогда вы можете NAT внешние адреса, если я прав. Однако я думаю, что вы пытаетесь либо потребовать виртуализации другого интерфейса, чтобы связать внутренние адреса.
По сути, вы, возможно, слишком много просите об оборудовании, которое вы описываете.
В этом случае я бы сконфигурировал внутреннюю сеть, в которой существуют eth1, eth2, eth3, для передачи трафика в NAT0 eth0.
На самом деле, после написания этого ответа у меня есть еще один ответ, с которым я собираюсь ответить ради организации.