Отправляет email-рассылки с помощью сервиса Sendsay

подключение виртуального компа в локалку через nat.

Доброго времени суток.

Ситуация такая:

[rygoravich@rygoravich rygoravich]$ ifconfig
eth0 Link encap:Ethernet HWaddr 4C:00:10:A1:E2:8B
inet addr:192.168.2.53 Bcast:192.168.255.255 Mask:255.255.0.0
inet6 addr: fe80::4e00:10ff:fea1:e28b/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2912727 errors:259 dropped:0 overruns:0 frame:0
TX packets:38526 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:202332226 (192.9 Mb) TX bytes:7119166 (6.7 Mb)
Interrupt:10 Base address:0xcf00

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:22475 errors:0 dropped:0 overruns:0 frame:0
TX packets:22475 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:15645708 (14.9 Mb) TX bytes:15645708 (14.9 Mb)

tun0 Link encap:Ethernet HWaddr 00:FF:78:65:1F:BA
inet addr:10.0.2.1 Bcast:10.0.2.255 Mask:255.255.255.0
inet6 addr: fe80::2ff:78ff:fe65:1fba/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:980 errors:0 dropped:0 overruns:0 frame:0
TX packets:300 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:123508 (120.6 Kb) TX bytes:59011 (57.6 Kb)

[rygoravich@rygoravich rygoravich]$

Где eth0 - локальная сеть, tun0 - сеть реальной машины с виртуальной (linux или
оффтоп под qemu, адрес 10.0.2.2). Цель - включить виртуальную машину в локалку,
очень желательно - невидимо для сети. Пытался сделать через snat и masquerade
- никак не выходит... Пинги не проходят, к серверам не коннектится. Единственный
результат - в оффтопе под qemu в сетевом окружении видны компы, однако при попытке
входа на них винда заявляет, что:
=====началоНет доступа к \\Server.

Не удается найти компьютер или сетевое имя. Проверьте правильность набора и повторите
попытку.

[OK]
=====конецПодключение виртуальной машины к реальной работает нормально, все сервисы доступны,
в том числе и при использовании адреса из интерфейса eth0, т.е. http://192.168.2.53/
и ftp://192.168.2.53/ (где 192.168.2.53 - адрес реального компа в локалке) работают
нормально.

Настройки iptables пробовал различные (в смысле, игрался цепочкой filter/forward
и nat/postrouting), привожу самый (имхо) безукоризненный (т.е. незащищенный,
но вроде как теоретически рабочий) вариант (на всякий случай - полностью):

[root@rygoravich etc]# iptables-save
# Generated by iptables-save v1.2.8 on Wed Dec 29 00:11:02 2004
*nat
:PREROUTING ACCEPT [304802:32023805]
:POSTROUTING ACCEPT [512:48352]
:OUTPUT ACCEPT [2502:314979]
-A POSTROUTING -o eth0 -j SNAT --to-source 192.168.2.53
COMMIT
# Completed on Wed Dec 29 00:11:02 2004
# Generated by iptables-save v1.2.8 on Wed Dec 29 00:11:02 2004
*filter
:INPUT DROP [994:47673]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
:mynets - [0:0]
:tomynets - [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth0 -j mynets
-A INPUT -i tun0 -j ACCEPT
-A FORWARD -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -p icmp -j ACCEPT
-A OUTPUT -p tcp -m tcp --sport 32768:65535 -j ACCEPT
-A OUTPUT -p udp -m udp --sport 32768:65535 -j ACCEPT
-A OUTPUT -o eth0 -j tomynets
-A OUTPUT -o tun0 -j ACCEPT
-A mynets -p tcp -m tcp --dport 137:139 -j ACCEPT
-A mynets -p udp -m udp --dport 137:139 -j ACCEPT
-A mynets -p tcp -m tcp --dport 80 -j ACCEPT
-A mynets -p tcp -m tcp --dport 21 -j ACCEPT
-A mynets -p udp -m udp --sport 137 --dport 32768:65535 -j ACCEPT
-A tomynets -p tcp -m tcp --sport 137:139 -j ACCEPT
-A tomynets -p udp -m udp --sport 137:139 -j ACCEPT
-A tomynets -p tcp -m tcp --sport 80 -j ACCEPT
-A tomynets -p tcp -m tcp --sport 21 -j ACCEPT
-A tomynets -p tcp -m tcp --sport 20 -j ACCEPT
COMMIT
# Completed on Wed Dec 29 00:11:02 2004
[root@rygoravich etc]#

Пробовал также играться с маршрутизацией, т.е. добавлял в виртуальной машине
(и под оффтопом и под Линуксом) интерфейс 192.168.0.0/16 через шлюз 10.0.2.1
- безрезультатно.

Что я делаю не так?

Дистрибутив Mandrake 9.2, ядро 2.6.7, iptables 1.2.10.

Ответить   Wed, 29 Dec 2004 00:27:13 +0200 (#288256)

 

Ответы:

Доброго времени суток.

On Wed, 29 Dec 2004 00:27:13 +0200
Rygoravich <rygoravi***@o*****.info> wrote:

...

Упс, сам сообразил... Оказалось выключенным перенаправление пакетов - я почему-то
думал, что оно включается при запуске iptables стартовыми скриптами, но по умолчанию
Mandrake этого не делает... И правильно:).

Только вот еще один вопросик - можно ли как-нибудь реализовать дублирование широковещательных
пакетов, т.е. приходит броадкаст из сети 192.168.0.0/16, отправляется в двух
экземплярах, т.е. и на локальную машину (в моем случае 192.168.2.53) и в сеть
10.0.2.0/8 (либо конкретно на узел 10.0.2.2). А пакеты, отправленные броадкастом
с 10.0.2.2 изменяли адрес отправителя на 192.168.2.53, адрес получателя - на
192.168.255.255 и перекидывались в сеть 192.168.0.0/16?

Перекопал iptables-tutorial, но упоминаний о возможности дублирования пакетов
не нашел... Но как-то не верится, что это в принципе невозможно, может это реализуется
какими-нибудь другими средствами?

Ответить   Fri, 31 Dec 2004 08:54:51 +0200 (#289581)