Настройка 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-адресами хостов, это важный шаг, поскольку, если здесь есть проблема, то ее необходимо сначала решить, прежде чем есть какая-либо причина для беспокойства о маршрутизации между подсетями.