В общем ситуация такая:
Есть линь машина с интерфейсами: eth0, eth1 и ppp0.
eth0 подключён к свечке, а eth1 к вин машине (192.168.1.20).
Нужно сделать чтоб машина с виндой была в сети через линуху и имела доступ в и-нет через линуховский ppp0. Т.е. eth0 и eth1 передавали пакеты в две стороны, а ppp0 пропускал в нет только пакеты с eth1. Как я понял за это отвечает iptables.
Собрал через brctl мост между eth0 и eth1 и дал ему IP 192.168.1.249. Вин машина сеть увидела и её из сети тоже. Указал ей шлюз и DNS на линуху (192.168.1.249). Далее для начала: iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE и машина с виндой и-нет не видит. :(
По умолчанию в iptables всё ACCEPT.
[Решено] iptables (eth0,eth1,ppp0)
Интернет в сеть! - почитай тут описано что да как! пункт 1.2
Спасибо, помогло. Только с DNS проблемы. Виндовс по IP пингует , а имена нет.
__________________________________________________________________________
C:\>ping google.com
При проверке связи не удалось обнаружить узел google.com. Проверьте имя узла и п
овторите попытку.
C:\>ping 74.125.87.99
Обмен пакетами с 74.125.87.99 по 32 байт:
Ответ от 74.125.87.99: число байт=32 время=305мс TTL=54
Ответ от 74.125.87.99: число байт=32 время=317мс TTL=54
Ответ от 74.125.87.99: число байт=32 время=317мс TTL=54
Ответ от 74.125.87.99: число байт=32 время=337мс TTL=54
Статистика Ping для 74.125.87.99:
Пакетов: отправлено = 4, получено = 4, потеряно = 0 (0% потерь),
Приблизительное время приема-передачи в мс:
Минимальное = 305мсек, Максимальное = 337 мсек, Среднее = 319 мсек
C:\>ipconfig -all
Настройка протокола IP для Windows
Имя компьютера . . . . . . . . . : katana
Основной DNS-суффикс . . . . . . :
Тип узла. . . . . . . . . . . . . : неизвестный
IP-маршрутизация включена . . . . : нет
WINS-прокси включен . . . . . . . : нет
Подключение по локальной сети - Ethernet адаптер:
DNS-суффикс этого подключения . . :
Описание . . . . . . . . . . . . : NVIDIA nForce 10/100/1000 Mbps Ether
net
Физический адрес. . . . . . . . . : 00-1F-C6-6D-A5-86
Dhcp включен. . . . . . . . . . . : нет
IP-адрес . . . . . . . . . . . . : 192.168.1.20
Маска подсети . . . . . . . . . . : 255.255.255.0
Основной шлюз . . . . . . . . . . : 192.168.1.249
DNS-серверы . . . . . . . . . . . : 192.168.1.249
C:\>
Если нет своего DNS, то укажи DNS провайдера, а в iptables пропиши примерног следующее:
-A POSTROUTING -s 192.168.1.20 -d <dns провайдера> -o eth0 -j MASQUERADE
Ну соответсвенно разреши запросы по 53 порту для винды
уточнение, на порту 53 разрешать надо upd, а не tcp.
на шлюзе:
ifconfig -a
может днс не тот прописан
Может быть и днс. Дело в том что /etc/network/interfaces я очистил, а точнее там только:
auto lo
iface lo inet loopback
address 127.0.0.1
netmask 255.0.0.0
А было ещё:
auto bridge
iface bridge inet static
bridge_ports eth0 eth1
address 192.168.1.249
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
но очень долго тормозило загрузку
Мост подымаю и присваиваю ip через rc.local
brctl addbr bridge
ifconfig eth0 0.0.0.0
ifconfig eth1 0.0.0.0
brctl addif bridge eth0
brctl addif bridge eth1
brctl stp bridge on
ifconfig bridge up
ifconfig bridge 192.168.1.249 netmask 255.255.255.0
iptables -t nat -A POSTROUTING -s 192.168.1.20 -o ppp0 -j MASQUERADE
Шлюз и днс не указывал нигде.
Dark:~# ifconfig -a
bridge Link encap:Ethernet HWaddr 00:04:61:36:17:8f
inet addr:192.168.1.249 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::204:61ff:fe36:178f/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:634 errors:0 dropped:0 overruns:0 frame:0
TX packets:368 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:82718 (80.7 KiB) TX bytes:103455 (101.0 KiB)
eth0 Link encap:Ethernet HWaddr 00:04:61:36:17:8f
inet6 addr: fe80::204:61ff:fe36:178f/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:4 errors:0 dropped:0 overruns:0 frame:0
TX packets:103 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:674 (674.0 B) TX bytes:7627 (7.4 KiB)
Interrupt:22 Base address:0x8000
eth1 Link encap:Ethernet HWaddr 00:26:18:d9:82:26
inet6 addr: fe80::226:18ff:fed9:8226/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:635 errors:0 dropped:0 overruns:0 frame:0
TX packets:437 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:91540 (89.3 KiB) TX bytes:105971 (103.4 KiB)
Interrupt:16 Base address:0xc000
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:117 errors:0 dropped:0 overruns:0 frame:0
TX packets:117 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:15009 (14.6 KiB) TX bytes:15009 (14.6 KiB)
ppp0 Link encap:Point-to-Point Protocol
inet addr:10.10.180.212 P-t-P:10.10.0.1 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:417 errors:0 dropped:0 overruns:0 frame:0
TX packets:719 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:161240 (157.4 KiB) TX bytes:92484 (90.3 KiB)
Dark:~#
Dark:~# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.10.0.1 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 bridge
0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 0 ppp0
Dark:~#
Если нет своего DNS, то укажи DNS провайдера, а в iptables пропиши примерног следующее:
-A POSTROUTING -s 192.168.1.20 -d <dns провайдера> -o eth0 -j MASQUERADE
Ну соответсвенно разреши запросы по 53 порту для винды
iptables -t nat -A POSTROUTING -s 192.168.1.20 -d 195.80.231.5 -o eth0 -j MASQUERADE - непомогло
iptables -t nat -A POSTROUTING -s 192.168.1.20 -d 195.80.231.5 -o eth0 -j MASQUERADE - непомогло
Так на клиентских компьютерах пропишите этот днс в настройках системы. Ну... или раздайте через dhcp. Решение зависит от того, как у вас там все настроено.
Смысл один: клиентские машины должны знать адрес днс, чтобы к нему обратиться.
Ура! Всем спасибо! :D