Назад | Перейти на главную страницу

Сервер Ubuntu, действующий как маршрутизатор с двумя интерфейсами

Я пытаюсь настроить прокси-сервер squid с помощью сервера Ubuntu 12.04

Я новичок в Ubuntu, но мне удалось сделать несколько простых вещей.

Я купил второй интерфейс PCI и сумел установить его на сервере.

Моя цель - пересылать все пакеты из одного интерфейса (или подсети) в другой. Думаю, это один из первых шагов перед настройкой самого squid.

С моего сервера Ubuntu я могу пинговать устройства в обеих подсетях. но с моего ноутбука, который находится в подсети 192.168.0.0 / 24, я не могу проверить связь с моим маршрутизатором, который находится в другой подсети 192.168.1.0/24.

И маршрутизатор, и ноутбук отвечают на запросы ICMP, отправленные с моего сервера Ubuntu.

Я также активировал net.ipv4.ip_forward = 1 в sysctl.conf

вывод sudo ip route:

default via 192.168.1.254 dev eth1 metric 100
192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.200
192.168.1.0/24 dev eth1 proto kernel scope link src 192.168.1.200

вывод sudo iptables -nvL:

Chain INPUT (policy ACCEPT 339 packets, 55782 bytes) 

Chain FORWARD (policy ACCEPT 185 packets, 12382 bytes) 

Chain OUTPUT (policy ACCEPT 276 packets, 25481 bytes) 

Вы хоть представляете, почему эта установка не работает? Я уверен, что что-то упускаю.

Проблема в том, что маршрутизатор, с которым вы пытаетесь связаться, не знает, как направлять пакеты обратно на ноутбук, поскольку он не знает о подсети 192.168.0.0/24. Пакеты с портативного компьютера поступают на маршрутизатор, но ответные пакеты либо отправляются не в то место (в Интернет), либо вообще не отправляются.

Вам необходимо настроить маршрутизатор со статическим маршрутом для 192.168.0.0/24 через 192.168.0.200. Это зависит от конкретного маршрутизатора, но найдите в веб-интерфейсе раздел о маршрутизации.

Чтобы Linux мог маршрутизировать пакеты между интерфейсами, включите маршрутизацию IPv4, выполнив эту команду:

sysctl -w net.ipv4.ip_forward=1

Чтобы сделать его постоянным изменением, добавьте его в /etc/sysctl.conf:

net.ipv4.ip_forward = 1