У меня есть Ubuntu Box с одним NIC. Чтобы связать несколько служб (таких как apache, dnsmasq и т.д.), Я связал их с разными псевдонимами (например, eth0:0 и т.д.), Некоторые из которых находятся на совершенно разных диапазонах IP-адресов. Так как все мои клиентские компьютеры используют мой ubuntu box в качестве шлюза по умолчанию, мне было интересно, нужно ли это правило iptables:

iptables --append FORWARD --in-interface eth0:0 -j ПРИНЯТЬ (это относится к клиентам на 10.2.0.0/24, в то время как это окно связывается с моим DSL-маршрутизатором на 192.168.1.1 /24). Я уже включил IP-переадресацию и т.д.

По сути, я хочу знать, требуется ли переадресация между псевдонимами, которые находятся на разных диапазонах IP-адресов (я предполагаю, что это требуется между несколькими отдельными NIC, но имейте в виду, что у меня есть только один.

Я добавил это правило iptables для моего исходящего интерфейса:

iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE

Спасибо

Джаред

1 ответ1

0

Нет, строго говоря, вам это не нужно. Вы уже ясно дали понять, по-видимому, разрешив пересылку IPv4 в sysctl, и по правилу MASQUERADE, что вы хотите делать с пакетами, исходящими из подсети 10.2.0.0/24.

Вам понадобится это правило, если вы будете применять очень строгую политику, например, все, что явно не разрешено, запрещено или, другими словами, если вы будете использовать, как ваше последнее правило iptables,

  iptables -t filter -j DROP

Если вы не используете это, или если вы не используете политику DROP, вам не нужно явно разрешать пересылку с помощью этого правила, потому что ваше ядро уже проинструктировано о том, как действовать. Но если вы строги, и ваши пакеты рискуют нарушить правило aboce, то вам лучше его использовать.

Кстати, не используйте псевдонимы IP, они серьезно устарели. Если у вас уже работает eth0, выполните следующую команду

  ip addr add 10.2.0.1/24 dev eth0

добавит новый адрес в другой подсети к той же сетевой карте. Вы могли видеть это с

  ip addr show

но не с ifconfig, другим устаревшим инструментом, который вы должны удалить.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .