Настройка Ubuntu как маршрутизатора внутренней сети

Я настраиваю внутреннюю сеть, используя Virtual Box и 4 Virtual Machines. Я настроил все интерфейсы и немного испортил IP-пересылку и IP-маскарад на хосте, который будет маршрутизатором.

Маршрутизатор имеет два интерфейса Ethernet: один подключен к HostC, а другой - к HostA и HostB.

Что я сделал не так, если HostC может пропинговать хосты A и B, но хосты A и B не могут пропинговать HostC. Это должна быть конфигурация маршрутизатора.

2 ответа

ip link show

Результат:

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000 link/ether 08:00:27:90:2d:e5 brd ff:ff:ff:ff:ff:ff 3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000 link/ether 08:00:27:d4:ac:c1 brd ff:ff:ff:ff:ff:ff

Все выглядит хорошо.

sysctl -a |grep forwarding

Результат:

net.ipv4.conf.all.forwarding = 1 net.ipv4.conf.all.mc_forwarding = 0 net.ipv4.conf.default.forwarding = 1 net.ipv4.conf.default.mc_forwarding = 0 net.ipv4.conf.eth0.forwarding = 1 net.ipv4.conf.eth0.mc_forwarding = 0 net.ipv4.conf.eth1.forwarding = 1 net.ipv4.conf.eth1.mc_forwarding = 0 net.ipv4.conf.eth2.forwarding = 1 net.ipv4.conf.eth2.mc_forwarding = 0 net.ipv4.conf.lo.forwarding = 1 net.ipv4.conf.lo.mc_forwarding = 0 net.ipv6.conf.all.forwarding = 0 net.ipv6.conf.all.mc_forwarding = 0 sysctl: reading key "net.ipv6.conf.all.stable_secret" net.ipv6.conf.default.forwarding = 0 net.ipv6.conf.default.mc_forwarding = 0 sysctl: reading key "net.ipv6.conf.default.stable_secret" net.ipv6.conf.eth0.forwarding = 0 net.ipv6.conf.eth0.mc_forwarding = 0 sysctl: reading key "net.ipv6.conf.eth0.stable_secret" net.ipv6.conf.eth1.forwarding = 0 net.ipv6.conf.eth1.mc_forwarding = 0 sysctl: reading key "net.ipv6.conf.eth1.stable_secret" net.ipv6.conf.eth2.forwarding = 0 net.ipv6.conf.eth2.mc_forwarding = 0 sysctl: reading key "net.ipv6.conf.eth2.stable_secret" net.ipv6.conf.lo.forwarding = 0 net.ipv6.conf.lo.mc_forwarding = 0 sysctl: reading key "net.ipv6.conf.lo.stable_secret"

Переадресация включена.

ip addr show

IP-адреса в порядке. Проверено в Cisco Packet Tracer.

ip -6 addr show

ipv6 не настроен.

iptables -L

Результат:

`Цепочка INPUT (политика ПРИНЯТЬ) целевой целевой источник назначения

Цепочка FORWARD (Policy ACCEPT) target prot opt ​​источник назначения

Цепной ВЫХОД (policy ACCEPT) target prot opt ​​источник назначения`

iptables -S

Результат:

-P INPUT ACCEPT -P FORWARD ACCEPT -P OUTPUT ACCEPT

Сейчас по умолчанию.

Pinging

HostR (маршрутизатор,10.0.0.1,172.16.0.1) проверяет связь с HostA, HostB, не может с HostC

HostA / HostB (10.0.0.5/.6) проверяет связь с HostA/B, HostR, не может с HostC

HostC (172.16.0.2) пингует всем.

Спасибо за ваш ответ. Пожалуйста, скажите мне, что вы думаете об этих результатах. Я сейчас пытаюсь с этим справиться. Я сообщу, если произойдет какой-либо прорыв.

Для того, чтобы диагностировать проблему здесь, вы действительно должны добавить больше информации к вашему сообщению, я добавляю это как ответ для ясности, поскольку есть несколько команд, чтобы попытаться диагностировать это, и это было бы трудно прочитать в комментарии. На вашем маршрутизаторе, пожалуйста, выполните эти команды и сообщите результат, который поможет понять настройку и настройку вашей сети и определить проблему:

Список интерфейсов:

ip link show

Состояние пересылки интерфейса списка:

sysctl -a | grep forwarding

Список адресов интерфейса:

ip addr show
ip -6 addr show

Список правил брандмауэра:

iptables -L
ip6tables -L

Список правил NAT:

iptables -t nat -L
ip6tables -t nat -L

Также, пожалуйста, проверьте, что сам маршрутизатор может достичь всех хостов:

ping -c4 HostA
ping -c4 HostB
ping -c4 HostC

Если, конечно, замените HostA/B/C IP-адресами хостов, это важный шаг, поскольку, если здесь есть проблема, то ее необходимо сначала решить, прежде чем есть какая-либо причина для беспокойства о маршрутизации между подсетями.

Другие вопросы по тегам