LINUX.ORG.RU
ФорумAdmin

iptables+route


0

1

Добрый день,

че-то тут не могу с простейшей проблемой разобраться...

Есть гейтвей, у него есть внешний ip, есть в локальной сети еще один сервер с внешним ip. Что-то вот не могу сделать что бы второй внешний ip был доступен извне.

gw:
eth0: 10.0.0.1
eth1: 217.x.x.x

server1:
eth0: 217.x.x.y

на гейтвее ip_forward включен.
что еще должно быть, что-то кучу всего перепробовал...

★★
Ответ на: комментарий от adriano32

есть локальная сеть, есть гейтвей который смотрит в интернет и через который все ходят в инет. В локальной сети есть сервер с внешним ip. Как сделать что бы этот сервер был доступен извне?

Gin ★★
() автор топика

если server eth0 подсоединён к gw eth0 то есть два варианта

1. прописать на гейте прова роут к серву через твой гейт и настроить маршрутизацию 2. выставить на своём гейте два адреса и перенаправлять трав на серв уже с локальным адресом

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

> 2. выставить на своём гейте два адреса и перенаправлять трав на серв уже с локальным адресом имеется ввиду поставить на своём гетвее еще один адрес из той же сети, что и сервер? и как перенаправлять?

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

Статически прописаны.

Gin ★★
() автор топика

Ээээ...

У внешнего IP наверное маска какая-нибудь, на пару хостов, и гейтвэй свой?

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

фи, какие мы нежные ;)

вынеси 217.x.x в отдельный vlan - нужно оборудование соответствующее.
это если сервера далеко разнесены от той дырки, которая к прову идет. иначе свич простой воткни, и в него оба сервера.

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

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

c масками всё нормально, то, что нужно захватывает.

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

для кого-то логичнее, для кого-то нет.

короче, нужно сделать так же как провайдеры раздают внешние IP? ну ведь не пробросом не внутренний ip адресс?

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

нет. там маршрутизаторы стоят. и сервера, которым раздают ip находятся не «где-то в локальной сети»

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

Может ты таки покажешь какие где маски и адреса сетей? А то «c масками всё нормально» это не достаточное описание.

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

фантазёр! ;)

к тому же, в последних апдейтах уже три хоста! ;)

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

с масками всё нормально. Сейчас до туда просто доступа нету как-раз вот из-за этой фигни. маски там вообще не причём, такая конфигурация работала до краха сервера, настройки интерфейсов и маршрутов я востановил, а вот правила iptables нет.

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

Так из вашего поста вообще не понятно ничего. Вам провайдер дал дополнительную сеть и написал у себя роут к вам, или просто несколько адресов в одной connected сети? Есть куча разных конфигураций которые реализуют то что вы хотите, начиная от dnat и заканчивая proxyarp.

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

одна сеть, несколько внешних адресов. я помоему это уже несколько раз написал.
провайдер дал сеть адресов /29, нужно развешать их на несколько серверов, а не все на один гейтвей.

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

server1 физически подключен туда же, куда и 10.0.0.1? тогда шлюзом на server1 д.б. установлена 217.x.x.z
йе? я тебя разоблачил? :)

ты очень зря не рисуешь тут схему. быстрее бы помогли!

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

если схема такая:

провайдер--(сеть1 к примеру /30)--роутер-- (сеть2 /29) -- сервер
                                   \----(локалка)
и при этом провайдер написал у себя роут к сети2 через ваш роутер то достаточно только настроить роутинг.

Если:

провайдер--(сеть1 к примеру /29)--роутер---- сервер
                                   \----(локалка)

И провайдер знает только о сети /29 то нужно юзать DNAT для проброса трафика на сервер

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

либо сделать:

провайдер--(сеть1 к примеру /29)----роутер----локалка
           |     тут свитч     | \--сервер

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

А ТС не решает проблему, от тренирует нашу телетию. До сих пор не было представлено ни одного вывода ни одной команды. Человек поехал себе в отпуск, доступа к железу у него нет, вот он решил подкинуть лору задачку чтобы тут подлечили его подземный стук.

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

:-D ты тоже это заметил?!

*ушел патчить libastral до последней версии*

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

>а не все на один гейтвей

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

Либо ставим свич на провод провайдера и вставляем в него все машинки, присваивая им внешние адреса, либо вешаем алиасами все внешние адреса на единственную сетевушку гейта и DNATом их прокидываем в локалку.

Похорошему в сети, подсети первый и последний адрес не ипользуются. Если мы начнем дробить подсеть из 8-ми, 6-ть из которых полезных..., ну с наворотами может что и останется, все равно все пойдет через один гейтвей, так лучше алиасы.

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

1)Можно разбить сеть /29 на 2 сети /30, одна будут точка-точка с провайдером, вторая точка-точка между роутером и уже сервером 2)Можно разбить на 2 сети /30, одна точка-точка с провайдером, а вторую куда угодно внутри сети зароутить 3)Можно принять /29 на роутере, свободные адреса раскидать по ip unnumbered куда надо.

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

1) требует от провайдера написать роут в сторону клиента
2) аналогично
3) нужно юзать проксиарп.

Диагноз: Топикстартер не может объяснить как все работает и что он хочет в итоге.

ventilator ★★★
()

описанная тобой в стартовом сообщении и далее ситуация, конечно, возможна, но она, ИМХО, порочна. И если она действительна такова, то её следует менять по возможности. А в данный момент тебе поможет бридж - либо физический коммутатор (который может не подойти по причине особенностей подключения к провайдеру), либо логический (например).

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

3й вариант настолько же красив, насколько и костылен. А он очень красив :)

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

Я стараюсь не использовать проксиарп без крайней нужды - мне кажется костылями. Но тут у каждого своя точка зрения.

ventilator ★★★
()
root@server1# ifconfig eth0 inet 217.x.x.y netmask 255.255.255.255
root@server1# route add -net 10.0.0.0 mask 255.255.255.0 dev eth0
root@server1# route add default gw 10.0.0.1 dev eth0
===
root@server0# route add -host 217.x.x.y dev eth0

Всё, задача решена.

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

маршрут от провайдера на эту сеть - коннектед, физический адрес для попадания на логический адрес, спрятанный внутри сети, как-то надо получать. И тут на сцену выходит поручик Проксиарп, весь в белом...

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

> маршрут от провайдера на эту сеть - коннектед

Ага, причем с той же вероятностью, что и две подсети - /30 под линк и /29 клиенту, а у ТСа по умолчанию iptables -P DROP вписан, и теперь он как собака, видеть - видит, а сказать не может :-)

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

если у прова /30 до клиента, то значит где-то тут закопан маршрутизатор, который эти /30 и /29 обслуживает, так? Если есть возможность порулить этим маршрутизтором, то почему бы не сделать /32й маршрутик на server1 через server0?

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

да нет, не DROP, просто ssh закрыт извне :( и до вторника я туда попасть не смогу.
Что-то мне подсказывает, что на старом сервере до краха было что-то вроде proxyarp. Потому что провайдер просто выдал нам сеть и прописал у себя, что она у нас и не более того.

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

Добрался я до сервера, вот какая там конфигурация... немного отличается от того, что я говорил, но не принципиально

server0(gw):
eth0: 217.xx.xx.58 Mask:255.255.255.248
eth0:1 10.0.0.1 - смотрит в локалку
eth1: 95.yy.yy.226 Mask:255.255.255.252 - смотрит в провайдера
217. и 95. - это один провайдер, у провайдера все роуты прописаны.
адресс можно перенести и на eth1, без разницы на каком интерфейсе он висит, он пингуется извне.


server1:
eth0: 217.xx.xx.59 255.255.255.248

гейт для 217й сети .57
для 95й .225

на server0
217.xx.xx.57 0.0.0.0 255.255.255.255 UH 0 0 0 eth1
95.yy.yy.224 0.0.0.0 255.255.255.252 U 0 0 0 eth1
217.xx.xx.56 0.0.0.0 255.255.255.248 U 0 0 0 eth0
10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 95.yy.yy.225 0.0.0.0 UG 0 0 0 eth1


без arp proxy не обойтись?
не могу точно сказать был он раньше или нет... старый сервер реально ставился в прошлом веке.

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

Только роутинг, обрати внимание на магические цифры в последнем октете

eth0: 217.xx.xx.58

и

гейт для 217й сети .57

PS

что еще должно быть, что-то кучу всего перепробовал...

хм мне одному интересно что это за «куча всего» после поста с конфигурацией?

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