LINUX.ORG.RU
решено ФорумAdmin

[iptables] 2 интерфейса на одной карте


0

1

Всем драсте)

Проблема такая. Поменял провайдера и не могу понять как мне расшарить сеть через роутер(под ubuntu server). Раньше было просто

iptables -F INPUT

iptables -F OUTPUT

iptables -F FORWARD

iptables -t nat -F POSTROUTING

iptables -t nat -F PREROUTING

iptables -A INPUT -j ACCEPT

iptables -A OUTPUT -j ACCEPT

iptables -A FORWARD -j ACCEPT

# EXTERNAL -> external network interface

# INTERNAL -> internal network interface

EXTERNAL=ppp0

INTERNAL=eth0

echo 1 > /proc/sys/net/ipv4/ip_forward

echo «Setting up NAT (Network Address Translation)...»

# by default, nothing is forwarded.

iptables -P FORWARD DRОP

# Allow all connections OUT and only related ones IN

iptables -A FORWARD -i $EXTERNAL -o $INTERNAL -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -A FORWARD -i $INTERNAL -o $EXTERNAL -j ACCEPT

# enable MASQUERADING

iptables -t nat -A POSTROUTING -o $EXTERNAL -j MASQUERADE

но новый провайдер дал статический ip и остальное вместо pppoe. Вопрос, как создать интерфейс типа ppp0 как в конфиге? Помогите настроить плиз.

Cходите в гугл, там ваша проблема решена, тут уже и так over9000 тем про элементарные случаи с iptables

anonymous ()
Ответ на: комментарий от Berluskoni

Сеть-то как выглядит ? инет <-> внешний интерфейс <-> роутер <-> внутренний интерфейс <-> локальная сеть, если примерно так, то вместо старого взаимодействия ppp0 и eth0 должно стать eth1 и eth0. Настройки по большому счёту не изменятся.

temporary ★★ ()
Ответ на: комментарий от temporary

шнур провайдера воткнут в свич, туда же подключены все компы локалки(в количестве 2х) и роутер. Смысл в том, что если роутер выключится или заглючит т.к. это моя пользовательская машинка, то любой из других компов может подключится к сети на прямую. У роутера 1 сетевая карта.

Berluskoni ★★ ()
Ответ на: комментарий от temporary

>то вместо старого взаимодействия ppp0 и eth0 должно стать eth1 и eth0

Сетевая карта-то одна, откуда возьмется eth1?

edigaryev ★★★★★ ()
Ответ на: комментарий от Berluskoni

Один из вариантов - использовать alias'ы (man ifconfig). Например

ifconfig eth0:1 <local_ip>
получим два ip на одном интерфейсе, local_ip будет доступен из локальной сети. Между этими интерфейсами и форвардить инет.

ЗЫ. Сам не делал так (не было нужды), может какие-нибудь ньюансы но должно работать

temporary ★★ ()
Ответ на: комментарий от edigaryev

>Можно подробнее? Что не именно не работает, что делали и как?

Один из вариантов - использовать alias'ы

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

Berluskoni ★★ ()
Ответ на: комментарий от Berluskoni
iptables -F
iptables -t nat -F

iptables -P INPUT ACCEPT
iptables -P FORWARD DRОP
iptables -P OUTPUT ACCEPT

echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth0 -s 192.168.0.0/24 -j ACCEPT

iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j MASQUERADE

Это в случае если ваша домашняя сеть — 192.168.0.0/24, и алиас уже настроен.

edigaryev ★★★★★ ()
Ответ на: комментарий от Berluskoni

> шнур провайдера воткнут в свич, туда же подключены все компы локалки(в количестве 2х) и роутер

Объединять сеть провайдера и Вашу собственную на L2 - это как-то, эм, некрасиво, что ли. Руки за такое отрывать надо.

GFORGX ★★☆ ()
Ответ на: комментарий от GFORGX

тут плюс в том, что если роутер не работает, то кто-то один может напрямую подключится к сети провайдера.

Berluskoni ★★ ()
Ответ на: комментарий от Berluskoni

То, что вы делаете, это бредово, чтобы роутер не ломался, нужно брать качественное железо, ставить его в красный угол и молиться на него, уважительно называя его маршрутизатором. А потом ставить второй (запасной) маршрутизатор. Много офисов работают только через маршрутизатор и ничего страшного, работают.

Но если вам так хочется, чтобы такая схема работала, вам надо сделать на интерфейсе 2 ip-адреса, либо через скрипт, либо через алиас (eth0:0). Потом сделать для исходящих в Интернет соединений SNAT. Для вашего случая это будет 2 правила в -t nat POSTROUTING:

-d local_net_ip/24 -j ACCEPT

-j SNAT --to-source provaider_static_ip

mky ★★★★★ ()
Ответ на: комментарий от Berluskoni

Если у вас статический IP — лучше сделать SNAT (см. сообщение mky), хотя для домашнего интернета не столь критично.

edigaryev ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.