nixp.ru v3.0

21 октября 2017,
суббота,
18:55:25 MSK

DevOps с компанией «Флант»
Yaazard написал 26 июня 2006 года в 00:12 (479 просмотров) Ведет себя неопределенно; открыл 4 темы в форуме, оставил 51 комментарий на сайте.

Здравствуйте. Недавно поставил Debian и еще не очень в нем разобрался. Подключил VPN и все вроде бы хорошо… но вот тут пришла больная идея в голову. Настроить Линукс как шлюз. Т.е. есть сеть с выходом в интернет по VPN и есть домашняя сеть на 2 компьютера. Так вот хотелось бы что бы с тех 2х компьютеров можно было выходить в сеть и в инетрнет одновременно…. ммм че то я закрутил ну ладно думаю понятно=)… нашел способ через скрипт межсетевой защиты… тогда получается что линукс открывает доступ к сети но сам перестает подключаться к VPN(РРТР клиент)… так как не может создать динамический интерфейс ррр0…

есть какие нибудь способы чтоб исправить это положение? =)

fly4life

Способы наверняка есть ;).

Что за скрипт «межсетевой защиты» такой? Там, по идее, минимум, что надо для работоспособности твоего Дебиана в качестве шлюза, — это одно правило маскарадинга для iptables.

И что значит «не может создать динамический интерфейс ppp0"?

Yaazard

ну смысл такой… если запущен скрипт то не проходит конект по ppp0 т.е. вкрации пишет что устройство не найдено. модем не отвечает.

Скрипт генерил на каком то сайте=) только чуть чуть исправил на доступ к портам

Genie
Подключил VPN и все вроде бы хорошо…

начнём с того, что хотелось бы знать, а не телепатировать, как именно ты это делал.

но вот тут пришла больная идея в голову. Настроить Линукс как шлюз.

поищи, тут на форуме я приводил конфиг домашнего шлюза (точнее для iptanles; поиск по сайту, слова «genie iptables конфиг»).

Т.е. есть сеть с выходом в интернет по VPN и есть домашняя сеть на 2 компьютера. Так вот хотелось бы что бы с тех 2х компьютеров можно было выходить в сеть и в инетрнет одновременно….

ну, если «выходить в инет» ещё понятно, но вот в приведённом контексте совершенно непонятно, куда же изначально компы имеют доступ и чего, собственно надо.

может подумаешь получше и сформулируешь точнее?

тогда получается что линукс открывает доступ к сети но сам перестает подключаться к VPN(РРТР клиент)…

значит, что-то сделано не правильно.

что именно — будет понятно после того, как будут предоставлены тобой детали.

так как не может создать динамический интерфейс ррр0…

а за этим — надо смотреть /var/log/messages — что-нибудь полезного там да будет.

если запущен скрипт то не проходит конект по ppp0 т.е. вкрации пишет что устройство не найдено.

в логи, в логи. там будет объяснение.

Скрипт генерил на каком то сайте=) только чуть чуть исправил на доступ к портам

ахха. «на каком-то сайте».. тебе не надпомнить, что пишут на каком-то заборе? :D

fly4life
Yaazard
ну смысл такой… если запущен скрипт то не проходит конект по ppp0 т.е. вкрации пишет что устройство не найдено. модем не отвечает.

Скрипт генерил на каком то сайте=) только чуть чуть исправил на доступ к портам

Дык, приоткрой уже завесу таинства и покажи нам этот скрипт ;).

Yaazard

Лана начнем =)

Подключился к VPN… делал все по схеме c сайта

http://pptpclient.sourceforge.net/howto-debian.phtml через pptpconfig

теперь насчет компов…. есть линукс, ноутбук, и еще один комп на котором винда…

между ними есть сетка… но линукс в своюб очередь подключен еще и к городской сети и имеет через нее доступ в инет по ВПН… так более понятнее? =)

скриптик вот http://yaazard.narod.ru/load/rc.fw =)

Yaazard

как я понял что вся фишка заключается в этом скриптике…

только еще не разобрался ЧТО нужно изменить=) просто бонально

привключенном скрипте влогах пишется вот

localhost pppd[7067]: pppd 2.4.3 started by root, uid 0

localhost pppd[7067]: Using interface ppp0

localhost pppd[7067]: Connect: ppp0 <--> /dev/pts/2

localhost pppd[7067]: Modem hangup

localhost pppd[7067]: Connection terminated.

localhost pppd[7067]: Exit.

при выключеном

localhost pppd[7362]: pppd 2.4.3 started by root, uid 0

localhost pppd[7362]: Using interface ppp0

localhost pppd[7362]: Connect: ppp0 <--> /dev/pts/2

localhost pppd[7362]: CHAP authentication succeeded: Welcome to scherbrout.

localhost pppd[7362]: local IP address 192.168.178.82

localhost pppd[7362]: remote IP address 192.168.9.254

localhost pppd[7362]: primary DNS address 195.42.162.55

localhost pppd[7362]: secondary DNS address 80.71.245.245

вывод косяк в этом скрипте… только где не могу понять

fly4life

Лихой такой скриптик, для начала-то…

Ошибка прям в самом начале — INET_IFACE=«eth0». Что-то сомневаюсь, что он у тебя именно такой ;). Отсюда неработоспособность парвила для маскарадинга:

$IPT -t nat -A POSTROUTING -o $INET_IFACE -j MASQUERADE

Ну и твоим скриптом политики цепочек выставляются в DROP, а разрешающих правил для соединения к интерфейсу ppp0 нету — вот и не проходит коннект на ppp0.

Yaazard

В сеть с инетом

eth0 Link encap:Ethernet HWaddr 00:0E:A6:13:12:25

inet addr:172.20.78.82 Bcast:172.20.78.255 Mask:255.255.255.0

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:524026 errors:6 dropped:0 overruns:0 frame:6

TX packets:71022 errors:0 dropped:0 overruns:246 carrier:0

collisions:0

RX bytes:51314105 (48.9 MiB) TX bytes:61597147 (58.7 MiB)

домашняя сеть

eth1 Link encap:Ethernet HWaddr 00:15:E9:49:BB:5A

inet addr:192.168.1.230 Bcast:192.168.1.255 Mask:255.255.255.0

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:5924 errors:0 dropped:0 overruns:0 frame:0

TX packets:4587 errors:0 dropped:0 overruns:0 carrier:0

collisions:0

RX bytes:601921 (587.8 KiB) TX bytes:3194240 (3.0 MiB)

это понятно

lo Link encap:Local Loopback

inet addr:127.0.0.1 Mask:255.0.0.0

EtherTalk Phase 2 addr:0/0

UP LOOPBACK RUNNING MTU:16436 Metric:1

RX packets:1694 errors:0 dropped:0 overruns:0 frame:0

TX packets:1694 errors:0 dropped:0 overruns:0 carrier:0

collisions:0

RX bytes:869170 (848.7 KiB) TX bytes:869170 (848.7 KiB)

и наконец сам ВПН

ppp0 Link encap:Point-to-Point Protocol

inet addr:192.168.178.82 P-t-P:192.168.9.254 Mask:255.255.255.255

UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1

RX packets:12356 errors:0 dropped:0 overruns:0 frame:0

TX packets:11993 errors:0 dropped:0 overruns:0 carrier:0

collisions:0

RX bytes:9191674 (8.7 MiB) TX bytes:1622988 (1.5 MiB)

fly4life

Вообще, я бы для начала попробовал минимальный набор правил при установленных политиках цепочек iptables в ACCEPT:

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o ppp0 -j MASQUERADE

Заработает, тогда и начнёшь городить всё, что понаписано в твоём скрипте.

Yaazard

ну а что можно еще написать во фкладке INET_IFACE=«eth0» ? тут же вроде ясно написано ипа интерфейс на инет=)

fly4life
Yaazard
ну а что можно еще написать во фкладке  INET_IFACE=«eth0» ? тут же вроде ясно написано ипа интерфейс на инет=)

А разве не 'ppp0\′ у тебя «интерфейс на инет"?

Что за eth0? Куда он смотрит?

Yaazard

просто как бы я линукс вижу 4ый день в своей жизни=) поэтому еще не очень разобрался чего тут и как=)

смысл такой.. что я хотел что бы линукс был шлюзом для инета и для той сети но как мне кажется такого уже не произойдет… потому что как я понимаю можно сделать лиш одно

я выше написал че и куда с ifconfig’a

fly4life
Yaazard
смысл такой.. что я хотел что бы линукс был шлюзом для инета и для той сети но как мне кажется такого уже не произойдет… потому что как я понимаю можно сделать лиш одно

Для какой «той» сети?

fly4life
Yaazard
я выше написал че и куда с ifconfig’a

Думаешь, набор этих цифр может внятно рассказть «че и куда"? ;) Не, я не настолько телепат… Тогда уж схемку сети какую-нибудь прикладывать надо.

Yaazard

http://yaazard.narod.ru/load/shem.jpg

типа потология сети вот=)

fly4life

А, ну всё правильно. В сторону инета у тебя смотрит eth0. Однако при подключении к VPN у тебя поднимается интерфейс ppp0, через который и идёт работа в интернете. Маскарадить нужно именно через него, так что см. мой ответ за номером #9 в этой теме.

Genie
Маскарадить нужно именно через него, так что см. мой ответ за номером #9 в этой теме.

ага

только там надо nst на nat поменять. очепятался малость ;)

fly4life
Genie
ага

только там надо nst на nat поменять. очепятался малость ;)

Ага, бывает. Успел-таки ещё до твоего поста ;)

Yaazard

т.е. не получиться сделать так что с моих компов через линукс был виден инетрнет и сеть одновременно? я так понимаю?

fly4life
Yaazard
т.е. не получиться сделать так что с моих компов через линукс был виден инетрнет и сеть одновременно? я так понимаю?

С чего это такой пессиместичный вывод?

Для начала удали свой скрипт. Вместо него последовательно введи команды, о которых я тебе уже говорил выше. Правда, для выхода в локальную сеть придётся перед правилом маскарадинга (-j MASQUERADE которое) добавить ещё одно правило:

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d 172.20.78.0/24 -o eth0 -j SNAT --to-source 172.20.78.82

Затем у своих компов в качестве шлюза по умолчанию укажи свой линукс. Будет тебе и интернет, и сеть.

Yaazard

т.е. тупо создать фаил зафигачить в него то что ты говариш и будет работать? или я че то опять не понимаю=)

fly4life
Yaazard
т.е. тупо создать фаил зафигачить в него то что ты говариш и будет работать? или я че то опять не понимаю=)

Не. Это я тебе привёл команды. Пока их надо тупо ввести в консоли под рутом ;).

Если всё заработает, можно тупо зафигачивать в файл, неменее тупо дать права на исполнение, и будет тебе новый скрипт ;).

fly4life
Yaazard
ну а не одно и тоже ? =) если фаил запустить под рутом? =)

Да пожалуйста.

Yaazard

все вроед сделал но инета на других компах так и не появилось… о а может влиять то что в сети есть просто бешанная маршрутизация?

ну например вот пример моей маршрутки =) чтоб сидеть в сети

ifconfig eth0

ifconfig eth0 down

ifconfig eth0 hw ether 00:0E:A6:13:12:25 (просто проверка по маку. а сетевуха другая=))

ifconfig eth0 up

далее маршруты на подсети

route add -net 172.20.0.0 gw 172.20.78.254 netmask 255.255.0.0 dev eth0

route add -net 172.20.71.0 gw 172.20.78.254 netmask 255.255.255.0 dev eth0

route add -net 172.20.72.0 gw 172.20.78.254 netmask 255.255.255.0 dev eth0

route add -net 172.20.73.0 gw 172.20.78.254 netmask 255.255.255.0 dev eth0

route add -net 172.20.74.0 gw 172.20.78.254 netmask 255.255.255.0 dev eth0

route add -net 172.20.75.0 gw 172.20.78.254 netmask 255.255.255.0 dev eth0

route add -net 172.20.76.0 gw 172.20.78.254 netmask 255.255.255.0 dev eth0

route add -net 172.20.77.0 gw 172.20.78.254 netmask 255.255.255.0 dev eth0

route add -net 172.20.79.0 gw 172.20.78.254 netmask 255.255.255.0 dev eth0

route add -net 172.20.80.0 gw 172.20.78.254 netmask 255.255.255.0 dev eth0

route add -net 192.168.0.0 gw 172.20.78.254 netmask 255.255.0.0 dev eth0

route add -net 192.168.70.0 gw 172.20.78.254 netmask 255.255.255.0 dev eth0

route add -net 192.168.71.0 gw 172.20.78.254 netmask 255.255.255.0 dev eth0

route add -net 192.168.72.0 gw 172.20.78.254 netmask 255.255.255.0 dev eth0

route add -net 192.168.73.0 gw 172.20.78.254 netmask 255.255.255.0 dev eth0

route add -net 192.168.74.0 gw 172.20.78.254 netmask 255.255.255.0 dev eth0

route add -net 192.168.75.0 gw 172.20.78.254 netmask 255.255.255.0 dev eth0

route add -net 192.168.76.0 gw 172.20.78.254 netmask 255.255.255.0 dev eth0

route add -net 192.168.77.0 gw 172.20.78.254 netmask 255.255.255.0 dev eth0

route add -net 192.168.78.0 gw 172.20.78.254 netmask 255.255.255.0 dev eth0

route add -net 192.168.79.0 gw 172.20.78.254 netmask 255.255.255.0 dev eth0

route add -net 192.168.80.0 gw 172.20.78.254 netmask 255.255.255.0 dev eth0

route add -net 192.168.81.0 gw 172.20.78.254 netmask 255.255.255.0 dev eth0

route add -net 192.168.82.0 gw 172.20.78.254 netmask 255.255.255.0 dev eth0

route add -net 192.168.83.0 gw 172.20.78.254 netmask 255.255.255.0 dev eth0

route add -net 192.168.84.0 gw 172.20.78.254 netmask 255.255.255.0 dev eth0

route add -net 192.168.85.0 gw 172.20.78.254 netmask 255.255.255.0 dev eth0

route add -net 192.168.86.0 gw 172.20.78.254 netmask 255.255.255.0 dev eth0

route add -net 192.168.87.0 gw 172.20.78.254 netmask 255.255.255.0 dev eth0

route add -net 192.168.88.0 gw 172.20.78.254 netmask 255.255.255.0 dev eth0

route add -net 192.168.89.0 gw 172.20.78.254 netmask 255.255.255.0 dev eth0

ну и маршрут на впн

route add -host 80.252.133.78 gw 172.20.78.254 dev eth0

не спрашивайте че там так много всего=) иначе не чего просто не работает=)

сеть делали еще большие умельцы чем я=) потому что она на 1500 человек и ктому же одноранговая..

fly4life
Yaazard
все вроед сделал но инета на других компах так и не появилось… о а может влиять то что в сети есть просто бешанная маршрутизация?

Бешенная, небешенная — главное, чтобы она была настроена верно. Ну, если твой линукс сам ходит в инет, то тут всё нормально.

Другой вопрос, а перезагружался ли ты перед тем, как вводил приведённые мной команды? А-то от старого скрипта мог остаться некоторый мусор. <font size=«-2»>можно и просто сбросить все цепочки, но пока проще перезагрузиться ;)</font>

А 'echo 1 > /proc/sys/net/ipv4/ip_forward' не забыл?

А может у тебя инет появился, но не резолвятся имена? Всмысле, на своих компах ты просто не прописал DNS-серверы?

Yaazard

ДНС прописал…и про

А 'echo 1 > /proc/sys/net/ipv4/ip_forward' не забыл?


не забыл=)

Другой вопрос, а перезагружался ли ты перед тем, как вводил приведённые мной команды? А-то от старого скрипта мог остаться некоторый мусор. можно и просто сбросить все цепочки, но пока проще перезагрузиться ;)

я тот скрипт со вчерашнего дня не запускал=)) и 5 раз за день уже ребутнулся

фишка теперь в том что.. получается мне че надо

прописывать

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d 172.20.78.0/24 -o eth0 -j SNAT --to-source 172.20.78.82

для каждой подсети?? потому что сейчас с моих компов пошел пинг на 78ую подсеть

Yaazard

итак.. прописав маршруты на компах и лине сеть появилась…. но нет инета=(

fly4life
Yaazard
фишка теперь в том что.. получается мне че надо

прописывать

для каждой подсети?? потому что сейчас с моих компов пошел пинг на 78ую подсеть

Просто, кроме как о 78-ой подсети, больше в выводе ifconfig ни о чём сказано не было ;). Чтобы не прописывать все сети 172.20.*.* можно указать и '-d 172.20.0.0/16\′. Конечно, в этот диапазон попадёт гораздо большее количество сетей, чем есть у тебя, но, думаю, в твоём случае это нестрашно ;).

fly4life
Yaazard
итак.. прописав маршруты на компах и лине сеть появилась…. но нет инета=(

А как проверял, что его нет?

Yaazard

обычным пингом с ноута по яндексу по имени и по ip

fly4life
Yaazard
обычным пингом с ноута по яндексу по имени и по ip

А с самого линукса пингуется?

Yaazard

а с линуха я ща стобой разговарию=)

что означает что линукс инет воспринемает=)

fly4life

Хм. А покажи вывод команды:

iptables -t nat -L
Yaazard

вот…. че то много правда получилось

Chain PREROUTING (policy ACCEPT)

target prot opt source destination

Chain POSTROUTING (policy ACCEPT)

target prot opt source destination

SNAT all — 192.168.1.0/24 172.20.78.0/24 to:172.20.78.82

MASQUERADE all — anywhere anywhere

SNAT all — 192.168.1.0/24 172.20.78.0/24 to:172.20.78.82

MASQUERADE all — anywhere anywhere

MASQUERADE all — anywhere anywhere

SNAT all — 192.168.1.0/24 172.20.78.0/24 to:172.20.78.82

MASQUERADE all — anywhere anywhere

SNAT all — 192.168.1.0/24 192.168.86.0/24 to:172.20.78.82

SNAT all — 192.168.1.0/24 80.252.133.78 to:172.20.78.82

SNAT all — 192.168.1.0/24 192.168.70.0/24 to:172.20.78.82

SNAT all — 192.168.1.0/24 192.168.71.0/24 to:172.20.78.82

SNAT all — 192.168.1.0/24 192.168.72.0/24 to:172.20.78.82

SNAT all — 192.168.1.0/24 192.168.73.0/24 to:172.20.78.82

SNAT all — 192.168.1.0/24 192.168.74.0/24 to:172.20.78.82

SNAT all — 192.168.1.0/24 192.168.75.0/24 to:172.20.78.82

SNAT all — 192.168.1.0/24 192.168.76.0/24 to:172.20.78.82

SNAT all — 192.168.1.0/24 192.168.78.0/24 to:172.20.78.82

SNAT all — 192.168.1.0/24 192.168.79.0/24 to:172.20.78.82

SNAT all — 192.168.1.0/24 192.168.80.0/24 to:172.20.78.82

SNAT all — 192.168.1.0/24 192.168.81.0/24 to:172.20.78.82

SNAT all — 192.168.1.0/24 192.168.82.0/24 to:172.20.78.82

SNAT all — 192.168.1.0/24 192.168.83.0/24 to:172.20.78.82

SNAT all — 192.168.1.0/24 192.168.84.0/24 to:172.20.78.82

SNAT all — 192.168.1.0/24 192.168.87.0/24 to:172.20.78.82

SNAT all — 192.168.1.0/24 192.168.70.0/24 to:172.20.78.82

SNAT all — 192.168.1.0/24 192.168.71.0/24 to:172.20.78.82

SNAT all — 192.168.1.0/24 192.168.72.0/24 to:172.20.78.82

SNAT all — 192.168.1.0/24 192.168.73.0/24 to:172.20.78.82

SNAT all — 192.168.1.0/24 192.168.74.0/24 to:172.20.78.82

SNAT all — 192.168.1.0/24 192.168.75.0/24 to:172.20.78.82

SNAT all — 192.168.1.0/24 192.168.76.0/24 to:172.20.78.82

SNAT all — 192.168.1.0/24 192.168.78.0/24 to:172.20.78.82

SNAT all — 192.168.1.0/24 192.168.79.0/24 to:172.20.78.82

SNAT all — 192.168.1.0/24 192.168.80.0/24 to:172.20.78.82

SNAT all — 192.168.1.0/24 192.168.81.0/24 to:172.20.78.82

SNAT all — 192.168.1.0/24 192.168.82.0/24 to:172.20.78.82

SNAT all — 192.168.1.0/24 192.168.83.0/24 to:172.20.78.82

SNAT all — 192.168.1.0/24 192.168.84.0/24 to:172.20.78.82

SNAT all — 192.168.1.0/24 192.168.87.0/24 to:172.20.78.82

SNAT all — 192.168.1.0/24 172.20.0.0/16 to:172.20.78.82

SNAT all — 192.168.1.0/24 192.168.0.0/16 to:172.20.78.82

MASQUERADE all — anywhere anywhere

Chain OUTPUT (policy ACCEPT)

target prot opt source destination

fly4life

Вообще-то правило с '-d 172.20.0.0/16\′ надо было писать вместо всех остальных ;). А маскарадинг нафиг столько раз прописывал?!

Что за адрес 80.252.133.78?

А это вообще зачем?!

SNAT       all  --  192.168.1.0/24       192.168.0.0/16      to:172.20.78.82

В итоговых правилах у тебя должна быть одна строчка для SNAT и одна для MASQUERADE.

Yaazard

ну это были первые пробы=))

Хорош глумиться =)) я недавно в лине работать начал всетаки=)

fly4life
Yaazard
ну это были первые пробы=))

Хорош глумиться =)) я недавно в лине работать начал всетаки=)

Пробы, хоть и первые, ты ведь делал осмысленно? ;)

Да никто и не глумится…

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

Провайдерский шлюз с ноута тоже не пингуется?

Yaazard

угу… с ноута нет пинга на шлюз…

так …. я наверно уже всех достал но всетаки получается мне надо еще прописать адрес 80.252.133.78 так как это адрес ВПНа…. и как я понимаю настройка будет примерно такой

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d 80.252.133.78/32 -o eth0 -j SNAT --to-source 172.20.78.82

если я не ошибаюсь вроде так … т.к впн прописывается под 255.255.255.255 маску сети

fly4life
Yaazard
угу… с ноута нет пинга на шлюз…

так ….  я наверно уже всех достал но всетаки получается мне надо еще прописать адрес 80.252.133.78 так как это адрес ВПНа…. и как я понимаю настройка будет примерно такой

если я не ошибаюсь вроде так … т.к впн прописывается под 255.255.255.255 маску сети

Нет. Этой строчки не надо, т.к. с VPN-сервером у тебя будет соединяться твой линуксовый шлюз, а не ноут и прочие компы в твоей сети.

Так чего там по поводу таблицы маршрутизации с ноута?

Yaazard

да она простая

route add -p 192.168.0.0 mask 255.255.0.0 192.168.1.230 и так же для 172.20.0.0

думаеш прописать маршрут на ноуте до впна?

ща прописал толку ноль

получается нуна на лине открывать доступ к впну если я не ошибаюсь опять=))

fly4life
Yaazard
думаеш прописать маршрут на ноуте до впна?

Нет, не надо.

Таблицу маршрутизации ты мне так и не показал. Вобщем, в качестве шлюза по умолчанию (default gateway) на ноуте должен быть твой линуксовый комп (а именно, IP 192.168.1.230).

Yaazard

ну так и есть

да кстати огромное спасибо за то что хоть так работает=)))

инет наверно придется пустить через проксю какую нибудь раз таким извратом не получается=)

Genie

ну и огород у тебя…

на линуксе:

поставить пакет iproute

инициализировать интерфейсы:

# ip a a 172.20.78.82/24 dev eth0
# ip r a 172.20.0.0/16 via 172.20.78.254
# ip a a 192.168.1.230/24 dev eth1
# ip r a 192.168.64.0/19 via 172.20.78.254
# ip r a 80.252.133.78/32 via 172.20.78.254
# echo "1" > /proc/sys/net/ipv4/ip_forward
# iptables -P INPUT ACCEPT
# iptables -P FORWARD ACCEPT
# iptables -P OUTPUT ACCEPT
# iptables -t nat -A POSTROUTING -i eth1 -s 192.168.1.0/24 -o ppp0 -j MASQUERADE
# iptables -t nat -A POSTROUTING -i eth1 -s 192.168.1.0/24 -o eth0 -j MASQUERADE

и не забудь в конфиге pptp/ppp указать defaultroute.

на локальных компах требуется ровно одно: прописать 192.168.1.230 в качестве шлюза по умолчанию.

Yaazard
POSTROUTING (policy ACCEPT)

target prot opt source destination

SNAT all — 192.168.1.0/24 172.20.0.0/16 to:172.20.78.82

SNAT all — 192.168.1.0/24 192.168.0.0/16 to:172.20.78.82

MASQUERADE all — 192.168.1.0/24 anywhere

SNAT all — 192.168.1.0/24 80.252.133.78 to:172.20.78.82

ВПН всетаки понадобился для статистики=)

страно одно.. вроде как рртр всетаки разрешено но инета всетаки нет:/

роуты на компах прописаны так

Active Routes:

Network Destination Netmask Gateway Interface Metric

80.252.133.78 255.255.255.255 192.168.1.230 192.168.1.1 1

127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1

172.20.0.0 255.255.0.0 192.168.1.230 192.168.1.1 1

192.168.0.0 255.255.0.0 192.168.1.230 192.168.1.1 1

192.168.1.0 255.255.255.0 192.168.1.1 192.168.1.1 10

192.168.1.1 255.255.255.255 127.0.0.1 127.0.0.1 10

192.168.1.255 255.255.255.255 192.168.1.1 192.168.1.1 10

224.0.0.0 240.0.0.0 192.168.1.1 192.168.1.1 10

255.255.255.255 255.255.255.255 192.168.1.1 10004 1

255.255.255.255 255.255.255.255 192.168.1.1 192.168.1.1 1

===========================================================================

Persistent Routes:

Network Address Netmask Gateway Address Metric

192.168.0.0 255.255.0.0 192.168.1.230 1

172.20.0.0 255.255.0.0 192.168.1.230 1

80.252.133.78 255.255.255.255 192.168.1.230 1

Yaazard

Мммм азачем прописывать 2 маскарада :/

Genie
Мммм азачем прописывать 2 маскарада :/

один — для того, чтобы работал инет на локальных машинках (-o ppp0)

второй — чтобы была доступна твоя большая домовая сетка (-o eth0)

страно одно.. вроде как рртр всетаки разрешено но инета всетаки нет:/

роуты на компах прописаны так


И НЕПРАВИЛЬНО ЭТО ;)

убери с локальных компов маршрут до 80.252.133.78

и НАСТРОЙ ШЛЮЗ ПО УМОЛЧАНИЮ 192.168.1.230

в общем, всё, как я описал ранее.

Yaazard

маршрут к 80…. нужен так как там статистика на инет лежит=)

Genie

впрочем, ip (iproute) можно и не использовать…

# ifconfig eth0 172.20.78.82 netmask 255.255.255.0
# ifconfig eth1 192.168.1.230 netmask 255.255.255.0
# route add 172.20.0.0 netmask 255.255.0.0 gw 172.20.78.254
# route add 192.168.64.0 netmask 255.255.224.0 gw 172.20.78.254
# route add -host 80.252.133.78 gw 172.20.78.254
Yaazard

ты не повериш но оно так и есть

Genie
Yaazard
маршрут к 80…. нужен так как там статистика на инет лежит=)

ну и будет она тебе доступна.

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

а так же подменит адрес при необходимости.

Yaazard

фишка в том что сеть уже видна и все отлично… тока инет не виден

Yaazard

и я лично просто уже не догоняю почему… потому что маскарад на него открыт

Genie
Yaazard
ты не повериш но оно так и есть

т.е. у тебя настроено так, как указано мной и не работает с локальных компов ни домовая сетка, ни инет нормально?

другого вида настроек по предоставленным тобой данным нет

Yaazard

на домашних компах видна сеть уже. маршрутизация прописана уже что линукс как шлюз… и все отлично пашет. только нет инета на домашних компах хотя маскарад на pptp стоит

Yaazard

После повтороной перезагрузки появился пинг на инетовские сайты по IP ребят как ДНС врубить.=))

на домашних компа линукс прописан как шлюз и как сервер днс

Genie
на домашних компа линукс прописан как шлюз и как сервер днс

apt-get install bind9

ну или пропиши днс-ом тот же комп, что ты прописал на линуксе

Yaazard

ты имееш ввиду для подключения к инету.=)? самое интересное что в сети его нет=)

Genie
ты имееш ввиду для подключения к инету.=)?

нуу. да, наверное.

самое интересное что в сети его нет=)

его — это кого?

изъясняйся несколько более конкретно.

Yaazard

у нас в сети нет ДНС сервера или он есть но уе заграницами сервера ВПН

Genie

понятно.

ну, тогда ставь и настраивай bind9.

даже после простого «apt-get install bind9» будет работать.

однако, тогда тебе надо будет настроить на линуксовом шлюзе dns-сервер в 127.0.0.1 (в файле /etc/resolv.conf, читай внимательно «man resolv.conf») и в настройках pptp/ppp указать не использовать dns-провайдера (убрать usepeerdns)

а те ns, что выдавались vpn-провайдером, использовать в качестве forwarders на твоём bind9. но это уже тонкости настройки dns, работать будет и без этого.

Yaazard

прописал ДНС который присваевается ррр0 ……. все заработало =) огромное спасибо за помощ =)