Здравствуйте!
У моего друга возникла небольшая проблемка.
Имеется машинка с двумя сетевыми картами:
eth1 - смотрит наружу
eth0 - смотрит соответственно внутрь
Машинки с обоих интерфейсов имеют постоянные реальные IP адреса. Вопрос в том, как получить доступ с машинок интерфейса eth0 во внешний мир через eth1 и обратно? Linux сконфигурен с поддержкой firewalling, с машинок интерфейса eth0 пингуется тока сам firewall, а далее никак. Kernel ip forwarding включали-отключали - все без толку. Может специальный роутинг? Помогите, плз.
>Здравствуйте!
>У моего друга возникла небольшая проблемка.
>Имеется машинка с двумя сетевыми картами:
>eth1 - смотрит наружу
>eth0 - смотрит соответственно внутрь
>Машинки с обоих интерфейсов имеют постоянные реальные IP адреса. Вопрос в том,
>как получить доступ с машинок интерфейса eth0 во внешний мир через
>eth1 и обратно? Linux сконфигурен с поддержкой firewalling, с машинок интерфейса
>eth0 пингуется тока сам firewall, а далее никак. Kernel ip forwarding
>включали-отключали - все без толку. Может специальный роутинг? Помогите, плз.
>
> а NAT не забыл настроить?
>> а NAT не забыл настроить?Ну если машины имеют реальные адреса, то НАТа никакого не нужно (хотя лучше всё-таки сделать НАТ и выдать машинам свои внутренние адреса).
Forwarding должен быть включён. Если с включённым форвардингом не работает, то проверить правила брендмауэра (ipchains|iptables), не режет ли он пакеты. Для начала будет достаточно скинуть все правила и выставить policy ACCEPT для цепочки форвардинга. Если и после этого не работает, надо ковырять таблицу маршрутизации: смотреть прописан ли gateway по дефолту для eth1, смотреть у клиентов, прописан ли у них в качестве шлюза ip карточки eth0.
Задача то простейшая, какие тут могут быть проблемы?
>Если и после этого не работает, надо ковырять таблицу маршрутизации: смотреть
>прописан ли gateway по дефолту для eth1, смотреть у клиентов, прописан
>ли у них в качестве шлюза ip карточки eth0.
>Задача то простейшая, какие тут могут быть проблемы?
Не работает.ipchains все policy на ACCEPT, форвардинг включен. У юзеров с eth0 прописан в качестве gw ip адрес eth0. У eth1 default gw - машинка провайдера. По идее все должно работать, ан нет..
Linux стоит 5.2 с установленным ядром 2.2.9.
Хорошо.
Смотрим файл /proc/sys/net/ipv4/ip_forward - там должна быть цифра 1, тогда будем точно уверены, что форвардинг включён.
Дальше тупо пишем правила:
ipchains -I forward -j ACCEPT -s users_ip/mask -i eth1 -d 0.0.0.0/0
ipchains -I forward -j ACCEPT -s 0.0.0.0/0 -i eth0 -d users_ip/mask
где users_ip - диапазон адресов юзеров (или хотя бы адрес одного из них для начала), mask - соотвествующая маска
Тогда будем уверены, что пакеты форвардятся и не режутся файерволом.А где такой Линукс откопали? В музее? :-)
>Хорошо.
>Смотрим файл /proc/sys/net/ipv4/ip_forward - там должна быть цифра 1, тогда будем точно
>уверены, что форвардинг включён.
>Дальше тупо пишем правила:
>ipchains -I forward -j ACCEPT -s users_ip/mask -i eth1 -d 0.0.0.0/0
>ipchains -I forward -j ACCEPT -s 0.0.0.0/0 -i eth0 -d users_ip/mask
>где users_ip - диапазон адресов юзеров (или хотя бы адрес одного из
>них для начала), mask - соотвествующая маска
>Тогда будем уверены, что пакеты форвардятся и не режутся файерволом.
цифра "1" есть :)Все сделал так, как вы написали. (да я, в принципе уже делал так) Ноль эмоций.
>А где такой Линукс откопали? В музее? :-)
Исторически сложилось. Раньше-то вообще там ядро было родное :) (кто не знает - 2.0.36) Дык при нем с машинок eth0 даже сам eth1 не пинговался :)
Добрый день.iptables -t nat -A POSTROUTING -s 192.168.0.0/255.255.255.0 -j SNAT --to <real ip>
Где 192.168.0.0/255.255.255.0 - это ip локалки и маска её же. Или как вариант...
iptables -t nat -A POSTROUTING -s 192.168.0.0/255.255.255.255 -d <real ip> -j MASQUERADE
>Добрый день.
>
>iptables -t nat -A POSTROUTING -s 192.168.0.0/255.255.255.0 -j SNAT --to <real ip>
>
>Где 192.168.0.0/255.255.255.0 - это ip локалки и маска её же. Или как
>вариант...
>
>iptables -t nat -A POSTROUTING -s 192.168.0.0/255.255.255.255 -d <real ip> -j MASQUERADEА без nat-а никак нельзя обойтись? Больше никак не решается эта проблема?
Ну давай тогда таблицу маршрутизации. Смотреть будем.
>Ну давай тогда таблицу маршрутизации. Смотреть будем.Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
$.$.ru. * 255.255.255.255 UH 0 0 0 eth1
proxy.*.ru * 255.255.255.255 UH 0 0 0 eth0
$.$.$.254 * 255.255.255.255 UH 0 0 0 eth1
name.$.ru * 255.255.255.255 UH 0 0 0 eth1
ns.$.$.ru * 255.255.255.255 UH 0 0 0 eth1
$.$.$.0 * 255.255.255.0 U 0 0 0 eth0
127.0.0.0 * 255.0.0.0 U 0 0 0 lo
default $.$.$.254 0.0.0.0 UG 0 0 0 eth1вобщем на eth1 еще навешены 3 виртуальных интерфейса.
$ - реальные адреса и имена