Всем здравствуйте! Срочный SOS!!! :-X Проблема в следующем, у меня две машины на одной Win ][P sp2, а на другой Linux Mandriva 2008. Linux подключен через ADSL модем P-600 к инету через порт inthernet и имеет две сетевые карты. Каким образом можно организовать подключение к инету второй машины работающей под Windows т.е чтобы машина работающая под Linux-ом выполняла функции шлюза? Нужно ли настраивать SUMBA для взаимодействия машин или не обязательно. Во время настраивания и запуска второй сетевой карты, почему то отключилась вторая которая подключена к модему. Буду крайне признателен за ссылку на какую нибудь статью по данной теме! Заранее благодарю за помощь..:)))
p600 - этож Lan-модем, правильно?
я так делала, пробил у знакомого админа свич (хаб) и два кабеля около 2 метров
комп с виндой
модем => свич (хаб) =>
комп с Linux
во первых не sumba а samba :)
во вторых когда машина как шлюз то samba не нужна
в третьих для организации шлюза нужно настраивать iptables
в четвертых Настройка iptables (//\"http://www.opennet.ru/docs/RUS/iptables/\")
Я в курсе про возможность использования switch-а, проблема в его наличии!!!
А если просто попробовать настроить PPPoE на Линухе?
Или же можно сцепить модем с виндой, запустить интернет, а в Линухе прописать адрес виндовой машины как Прокси!!!
Gothon это у тебя задом наперед получиться не винда через линукс а линукс через винду, то есть прямая противоположность поставленной задаче :)
Пусть тогда настроит PPPoE на линухе а в венде поставить комп с линухом как прокси :)
Буду разбираться с настройками iptables, похоже на реальную тему, спасибо всем! :D О результатах сообщу дополнительно!
dalvis, iptables это конечно хорошо, но можно обойтись и без них, простым роутингом.
Если кому нибудь понадобится, пишите, расскажу как настроить маршрутизацию.
dalvis на вашу просьбу отвечу здесь. Может еще кому пригодится.
Итак, для начала поставим задачу. У нас есть машина под линуксом. Она имеет два сетевых интерфейса - eth0 и eth1. Пусть eth0 имеет адрес 192.168.0.1/24 (это будет внутренняя подсеть) eth1 cоотвественно 192.168.1.1/24 (подсеть провайдера) Мы хотим сделать так, чтобы наша машина служила шлюзом между нулевой и первой подсеткой.
для этого выполняем команды:
#route add -net 192.168.0.0/24
#route add -net 192.168.1.0/24
Можно указать интерфейс непосредственно, но ядро может определить подходящий интерфейс самомтоятельно без всяких проблем.
На этом настройка таблицы маршрутизации завершена. Можно конечно долго играться с метриками и прочим, но этого достасточно.
команда route должна показать таблицу маршрутов. будет вот такое:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 * 255.255.255.0 U 0 0 0 eth1
192.168.0.0 * 255.255.255.0 U 0 0 0 eth0
169.254.0.0 * 255.255.0.0 U 0 0 0 eth1
Последняя строка - это тот диапазон адресов, из которого получает ip машина сразу после того как включилась, но еще не нашла DNS. К DNS идет обращение именно по этим адресам.
На виндовой машине (которая в нулевой подсетке)открываем командную строку и также настраиваем маршрутизацию.
c:> route -p add [имя сети] mask [маска] [шлюз]
То есть в нашем случае это будет
route -p add 192.168.1.0 mask 255.255.255.0 192.168.0.1
С настройкой маршрутизации закончено. Однако, как мы можем заметить у нас пакеты шлюз не пропускает. Это связано с тем, что в параметрах ядра не стоит обычно по умолчанию разрешение пропускать пакеты. убедимся в этом:
# cat /proc/sys/net/ipv4/ip_forward
0
То есть запрет как мы видим стоит.
выполняем
# echo 1 > /proc/sys/net/ipv4/ip_forward
И для того чтобы после перезагрузки снова значение не сбросилось, в файле /etc/sysctl.conf
добавляем строку
net.ipv4.ip_forward = 1
Вот и все...
Для более сложной конфигурации в принципе разницы большой нету. Если возникнут вопросы - постараюсь ответить...
Здравствуйте iskander! Что то у меня не получается, с командой route. :( Попробовал несколько раз, говорит что нет такого устройства. Пришлось в ручную настроить два сетевых адаптера, интернет работает, Windows машину Linux видет по ЛВС и посети заходит на нее, а вот в инет винду через себя не пропускает. Попробовал ради эксперимента использовать в качестве шлюза Win машину, все сработало на ура. Подскажите что не так делаю, может какую службу надо задействовать, почему не срабатывает команда и по какой причине. ???
Команда выполняемые в консоли после настройки в ручную сет.адаптеров:
[dalvis@dal1 ~]$ sudo su
[root@dal1 dalvis]# route add -net 192.168.1.0/24
SIOCADDRT: Нет такого устройства
[root@dal1 dalvis]# route add -net 192.168.0.0/24
SIOCADDRT: Нет такого устройства
[root@dal1 dalvis]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 * 255.255.255.0 U 5 0 0 eth0
192.168.0.0 * 255.255.255.0 U 10 0 0 eth1
169.254.0.0 * 255.255.0.0 U 5 0 0 eth0
169.254.0.0 * 255.255.0.0 U 10 0 0 eth1
default 192.168.1.1 0.0.0.0 UG 5 0 0 eth0
[root@dal1 dalvis]#
Дополнительная информация:
В моем случаи у меня Eth0 - смотрит на внешнюю сторону ip 192.168.1.33 присвоенный службой DHCP работающей на модеме, а Eth1 - внутренний 192.168.0.1. На винде ip-192.168.0.2
Таблица роутинга у вас вроде нормальная. Адрес получает? Вы файл /proc/sys/net/ipv4/ip_forward проверили?
проверил!!! В параметрах окромя одного нуля - "0" ничего нет.
dalvisЧитаем внимательно
Iskander для Вас писал
Цитировать# cat /proc/sys/net/ipv4/ip_forward
0
То есть запрет как мы видим стоит.
выполняем
# echo 1 > /proc/sys/net/ipv4/ip_forward
И для того чтобы после перезагрузки снова значение не сбросилось, в файле /etc/sysctl.conf
добавляем строку
net.ipv4.ip_forward = 1
Все сделал, в файле /etc/sysctl.conf добавляем строку net.ipv4.ip_forward = 1 проверил после перезагрузке параметр "1" не сбрасывается, но при выполнении следующих команд результат тот же "НЕТ ТАКОГО УСТРОЙСТВА":
[root@dal1 dalvis]# route add -net 192.168.1.0/24
SIOCADDRT: Нет такого устройства
[root@dal1 dalvis]# route add -net 192.168.0.0/24
SIOCADDRT: Нет такого устройства
Цитировать[root@dal1 dalvis]# route add -net 192.168.1.0/24
SIOCADDRT: Нет такого устройства
[root@dal1 dalvis]# route add -net 192.168.0.0/24
SIOCADDRT: Нет такого устройства
их не надо выполнять
так как
ЦитироватьЦитата
Таблица роутинга у вас вроде нормальная.
а вообще правильно команды будут такими
route add -net 192.168.1.0 netmask 255.255.255.0 eth0
route add -net 192.168.0.0 netmask 255.255.255.0 eth1
у меня и так работало :) Да, скорее всего это потому, что уже эти маршруты есть в таблице роутинга.
Команды vicpo сработали, ip_forward проверил =1, с винды все ip-адреса eth0 и eth1 пингуются, на винде адаптер настроен следующим образом: ip - 192.168.0.2, mask - 255.255.255.0, основной шлюз - 192.168.0.1, предпочтительный DNS - 212.19.149.53, альтернативный DNS - 192.168.1.33. Если использовать винду в качестве шлюза все работает, но с Linux-сом бесполезняк, НЕ ПРОПУСКАЕТ ЧЕРЕЗ СЕБЯ ИНЕТ ХОТЬ ТЫ ЛОПНИ. Что только не пробовал, единственное может быть в linux где нибудь, тоже как и в винде нужно дать разрешение на выход в инет через eth0....?????????????
Выводы команд сюда с линуксовой машины
ifconfig
route -n
cat /proc/sys/net/ipv4/ip_forward
с Windows машины
tracert 212.19.149.53
ping 192.168.0.1
ping 192.168.1.33
ping 192.168.1.1
что такое 192.168.1.33? Это модем? Или что? Кроме того возможно у вас iptables режет пакеты. Дайте вывод iptables -L
Результаты выполнения команд на Linux машине:
Цитировать[dalvis@dal1 ~]$ sudo su
[root@dal1 dalvis]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:11:3B:04:F5:95
inet addr:192.168.1.33 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::211:3bff:fe04:f595/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1462 errors:0 dropped:0 overruns:0 frame:0
TX packets:1756 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1013964 (990.1 KiB) TX bytes:269708 (263.3 KiB)
Interrupt:17 Base address:0xa000
eth1 Link encap:Ethernet HWaddr 00:E0:4C:D6:B3:D9
inet addr:192.168.0.1 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::2e0:4cff:fed6:b3d9/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:174 errors:0 dropped:0 overruns:0 frame:0
TX packets:163 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:24326 (23.7 KiB) TX bytes:21808 (21.2 KiB)
Interrupt:19 Base address:0xa000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:118 errors:0 dropped:0 overruns:0 frame:0
TX packets:118 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:10361 (10.1 KiB) TX bytes:10361 (10.1 KiB)
[root@dal1 dalvis]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 5 0 0 eth0
192.168.0.0 0.0.0.0 255.255.255.0 U 10 0 0 eth1
169.254.0.0 0.0.0.0 255.255.0.0 U 5 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 10 0 0 eth1
0.0.0.0 192.168.1.1 0.0.0.0 UG 5 0 0 eth0
[root@dal1 dalvis]# cat /proc/sys/net/ipv4/ip_forward
1
Выполнение команды iptables -L:
Цитировать[root@dal1 dalvis]# iptables -L
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT 0 -- anywhere anywhere
Ifw 0 -- anywhere anywhere
eth0_in 0 -- anywhere anywhere
eth1_in 0 -- anywhere anywhere
Reject 0 -- anywhere anywhere
LOG 0 -- anywhere anywhere LOG level info prefix `Shorewall:INPUT:REJECT:'
reject 0 -- anywhere anywhere
Chain FORWARD (policy DROP)
target prot opt source destination
eth0_fwd 0 -- anywhere anywhere
eth1_fwd 0 -- anywhere anywhere
Reject 0 -- anywhere anywhere
LOG 0 -- anywhere anywhere LOG level info prefix `Shorewall:FORWARD:REJECT:'
reject 0 -- anywhere anywhere
Chain OUTPUT (policy DROP)
target prot opt source destination
ACCEPT 0 -- anywhere anywhere
eth0_out 0 -- anywhere anywhere
eth1_out 0 -- anywhere anywhere
Reject 0 -- anywhere anywhere
LOG 0 -- anywhere anywhere LOG level info prefix `Shorewall:OUTPUT:REJECT:'
reject 0 -- anywhere anywhere
Chain Drop (1 references)
target prot opt source destination
reject tcp -- anywhere anywhere tcp dpt:auth
dropBcast 0 -- anywhere anywhere
ACCEPT icmp -- anywhere anywhere icmp fragmentation-needed
ACCEPT icmp -- anywhere anywhere icmp time-exceeded
dropInvalid 0 -- anywhere anywhere
DROP udp -- anywhere anywhere multiport dports 135,microsoft-ds
DROP udp -- anywhere anywhere udp dpts:netbios-ns:netbios-ssn
DROP udp -- anywhere anywhere udp spt:netbios-ns dpts:1024:65535
DROP tcp -- anywhere anywhere multiport dports 135,netbios-ssn,microsoft-ds
DROP udp -- anywhere anywhere udp dpt:1900
dropNotSyn tcp -- anywhere anywhere
DROP udp -- anywhere anywhere udp spt:domain
Chain Ifw (1 references)
target prot opt source destination
Chain Reject (4 references)
target prot opt source destination
reject tcp -- anywhere anywhere tcp dpt:auth
dropBcast 0 -- anywhere anywhere
ACCEPT icmp -- anywhere anywhere icmp fragmentation-needed
ACCEPT icmp -- anywhere anywhere icmp time-exceeded
dropInvalid 0 -- anywhere anywhere
reject udp -- anywhere anywhere multiport dports 135,microsoft-ds
reject udp -- anywhere anywhere udp dpts:netbios-ns:netbios-ssn
reject udp -- anywhere anywhere udp spt:netbios-ns dpts:1024:65535
reject tcp -- anywhere anywhere multiport dports 135,netbios-ssn,microsoft-ds
DROP udp -- anywhere anywhere udp dpt:1900
dropNotSyn tcp -- anywhere anywhere
DROP udp -- anywhere anywhere udp spt:domain
Chain all2all (0 references)
target prot opt source destination
ACCEPT 0 -- anywhere anywhere state RELATED,ESTABLISHED
Reject 0 -- anywhere anywhere
LOG 0 -- anywhere anywhere LOG level info prefix `Shorewall:all2all:REJECT:'
reject 0 -- anywhere anywhere
Chain dropBcast (2 references)
target prot opt source destination
DROP 0 -- anywhere anywhere PKTTYPE = broadcast
DROP 0 -- anywhere anywhere PKTTYPE = multicast
Chain dropInvalid (2 references)
target prot opt source destination
DROP 0 -- anywhere anywhere state INVALID
Chain dropNotSyn (2 references)
target prot opt source destination
DROP tcp -- anywhere anywhere tcp flags:!FIN,SYN,RST,ACK/SYN
Chain dynamic (4 references)
target prot opt source destination
Chain eth0_fwd (1 references)
target prot opt source destination
dynamic 0 -- anywhere anywhere state INVALID,NEW
net2all 0 -- anywhere anywhere
Chain eth0_in (1 references)
target prot opt source destination
dynamic 0 -- anywhere anywhere state INVALID,NEW
net2all 0 -- anywhere anywhere
Chain eth0_out (1 references)
target prot opt source destination
fw2net 0 -- anywhere anywhere
Chain eth1_fwd (1 references)
target prot opt source destination
dynamic 0 -- anywhere anywhere state INVALID,NEW
loc2net 0 -- anywhere anywhere
Chain eth1_in (1 references)
target prot opt source destination
dynamic 0 -- anywhere anywhere state INVALID,NEW
loc2fw 0 -- anywhere anywhere
Chain eth1_out (1 references)
target prot opt source destination
fw2loc 0 -- anywhere anywhere
Chain fw2loc (1 references)
target prot opt source destination
ACCEPT 0 -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT 0 -- anywhere anywhere
Chain fw2net (1 references)
target prot opt source destination
ACCEPT 0 -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT 0 -- anywhere anywhere
Chain loc2fw (1 references)
target prot opt source destination
ACCEPT 0 -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT 0 -- anywhere anywhere
Chain loc2net (1 references)
target prot opt source destination
ACCEPT 0 -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT 0 -- anywhere anywhere
Chain logdrop (0 references)
target prot opt source destination
LOG 0 -- anywhere anywhere LOG level info prefix `Shorewall:logdrop:DROP:'
DROP 0 -- anywhere anywhere
Chain logreject (0 references)
target prot opt source destination
LOG 0 -- anywhere anywhere LOG level info prefix `Shorewall:logreject:REJECT:'
reject 0 -- anywhere anywhere
Chain net2all (2 references)
target prot opt source destination
ACCEPT 0 -- anywhere anywhere state RELATED,ESTABLISHED
Drop 0 -- anywhere anywhere
LOG 0 -- anywhere anywhere LOG level info prefix `Shorewall:net2all:DROP:'
DROP 0 -- anywhere anywhere
Chain reject (11 references)
target prot opt source destination
DROP 0 -- anywhere anywhere PKTTYPE = broadcast
DROP 0 -- anywhere anywhere PKTTYPE = multicast
DROP 0 -- 255.255.255.255 anywhere
DROP 0 -- 224.0.0.0/4 anywhere
REJECT tcp -- anywhere anywhere reject-with tcp-reset
REJECT udp -- anywhere anywhere reject-with icmp-port-unreachable
REJECT icmp -- anywhere anywhere reject-with icmp-host-unreachable
REJECT 0 -- anywhere anywhere reject-with icmp-host-prohibited
Chain shorewall (0 references)
target prot opt source destination
Chain smurfs (0 references)
target prot opt source destination
LOG 0 -- 255.255.255.255 anywhere LOG level info prefix `Shorewall:smurfs:DROP:'
DROP 0 -- 255.255.255.255 anywhere
LOG 0 -- BASE-ADDRESS.MCAST.NET/4 anywhere LOG level info prefix `Shorewall:smurfs:DROP:'
DROP 0 -- 224.0.0.0/4 anywhere
Результыты выполнения комманд на Win машине:
ЦитироватьC:Documents and Settingssasha>tracert 212.19.149.53 // ip DNS провайдера
Трассировка маршрута к 212.19.149.53 с максимальным числом прыжков 30
1 <1 мс <1 мс <1 мс 192.168.0.1
2 * * * Превышен интервал ожидания для запрос
3 * * * Превышен интервал ожидания для запрос
4 * * * Превышен интервал ожидания для запрос
5 * * * Превышен интервал ожидания для запрос
6 * * * Превышен интервал ожидания для запрос
7 * * * Превышен интервал ожидания для запрос
8 * * * Превышен интервал ожидания для запрос
9 * * * Превышен интервал ожидания для запрос
10 * * * Превышен интервал ожидания для запрос
11 * * * Превышен интервал ожидания для запрос
12 *
C:Documents and Settingssasha>ping 192.168.0.1 // ip сетевой смотрящей в локалку
Обмен пакетами с 192.168.0.1 по 32 байт:
Ответ от 192.168.0.1: число байт=32 время=1мс TTL=64
Ответ от 192.168.0.1: число байт=32 время<1мс TTL=64
Ответ от 192.168.0.1: число байт=32 время<1мс TTL=64
Ответ от 192.168.0.1: число байт=32 время<1мс TTL=64
Статистика Ping для 192.168.0.1:
Пакетов: отправлено = 4, получено = 4, потеряно = 0 (0% потерь),
Приблизительное время приема-передачи в мс:
Минимальное = 0мсек, Максимальное = 1 мсек, Среднее = 0 мсек
C:Documents and Settingssasha>ping 192.168.1.33 // ip сетевой смотрящей в инет
Обмен пакетами с 192.168.1.33 по 32 байт:
Ответ от 192.168.1.33: число байт=32 время<1мс TTL=64
Ответ от 192.168.1.33: число байт=32 время<1мс TTL=64
Ответ от 192.168.1.33: число байт=32 время<1мс TTL=64
Ответ от 192.168.1.33: число байт=32 время<1мс TTL=64
Статистика Ping для 192.168.1.33:
Пакетов: отправлено = 4, получено = 4, потеряно = 0 (0% потерь),
Приблизительное время приема-передачи в мс:
Минимальное = 0мсек, Максимальное = 0 мсек, Среднее = 0 мсек
C:Documents and Settingssasha>ping 192.168.1.1 //ip-модема
Обмен пакетами с 192.168.1.1 по 32 байт:
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Статистика Ping для 192.168.1.1:
Пакетов: отправлено = 4, получено = 0, потеряно = 4 (100% потерь),
используется iptables в нем не включен NAT если вырубить iptables то все заработает
либо настроить NAT в iptables
По барабану! Вырубай не вырубай, все равно не пашит... Правильнее будет наверное разобраться с настройками iptables как вы советовали в самом начале.... и тогда возможно что нибудь получиться.
Я хотел бы спросить! А можно ли сперва настроить модем на винде под мегалайн а потом Юзать егов Линуксе просто прописав ДНС-ки и Шлюз с АйПишниками?????
Конечно можно, главное в винде дать разрешение на использование этого подключения
ЦитироватьКонечно можно, главное в винде дать разрешение на использование этого подключения
скорее, имелось в виду настроить модем под Вин машиной, а потом подключить к Линуксу :)
оффтоп
насколько помню самый дешевый АДСЛ модем с сетевым выходом стоит $30
так стоит ли париться с ЮЗБ модемами?