Как расшарить инет?

Имеется:
Ноут<--Wi-Fi-->КПК
Инет организован по VPN
Нужно расшарить VPN соединение на Wi-Fi сеть.

iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
Это что то не помогло.
Пинг между ноутом и кпк есть а инета на кпк нет :(


PS Если поможете настроить. Желательно потом еще инструкцию как потом отключить шаринг))) Вам надоела ненужная-надаедливая реклама на сайтах, открывающиеся окна? Воспользуйтесь программой adguard, для ее блокировки.

Комментарии

что за роутер?

никакого роутера. Просто ноут с wi-fi адаптером.

в роутере не надо знать дебиан))

echo 1 > /proc/sys/net/ipv4/ip_forward
modprobe iptable_nat
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

не?

modprobe iptable_nat
Вот это не делал. Сейчас затестю.

ноль эмоций((

У меня так дома всё работает (на трёх строчках) и тож ВПН, правда без Wi-Fi...

Можно попробовать поставить пакет ipmasq, и надеяться на то, что всё само заработает... Или гуглить дальше в строну понимания как всё работает и что именно нужно сделать.

ок. вечером погуглим снова.
просто мануал по iptables я сразу не осилил.

У меня более громоздкий скрипт, не помню уже откуда утянул, в содержимое особо не вникал ибо и так работает :-)

ovchin:~# cat /etc/network/
#!/bin/sh
INTIF="eth0"
EXTIF="eth1"
EXTIP="х.х.х.х"
/sbin/depmod -a
/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_conntrack_irc
/sbin/modprobe iptable_nat
/sbin/modprobe ip_nat_ftp
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/ip_dynaddr
iptables -P INPUT ACCEPT
iptables -F INPUT
iptables -P OUTPUT ACCEPT
iptables -F OUTPUT
iptables -P FORWARD DR?1?P
iptables -F FORWARD
iptables -t nat -F
iptables -A FORWARD -i $EXTIF -o $INTIF -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i $INTIF -o $EXTIF -j ACCEPT
iptables -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE

>iptables -P FORWARD DR?1?P
Чего-то контакт на хочет писать drop большими буквами

DR?1?P

Круто))) действительно глюк)

Николай Овчинников
Скрипт попробую.

Кто здесь кто?
INTIF="eth0"
EXTIF="eth1"
EXTIP="х.х.х.х"

---------------------------------------------------------------------------
LinSh:/home/shad0w# ifconfig
eth0 Link encap:Ethernet HWaddr 00:13:49:26:c2:80
inet addr:192.168.0.1 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::213:49ff:fe26:c280/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1173 errors:0 dropped:0 overruns:0 frame:0
TX packets:286 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:73566 (71.8 KiB) TX bytes:29502 (28.8 KiB)
Interrupt:11

eth1 Link encap:Ethernet HWaddr 00:40:d0:28:3c:9d
inet addr:10.х.х.х Bcast:10.х.х.х Mask:255.255.224.0
inet6 addr: fe80::х:х:х:х/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:5191036 errors:0 dropped:147768 overruns:0 frame:0
TX packets:4224703 errors:3 dropped:0 overruns:3 carrier:0
collisions:0 txqueuelen:1000
RX bytes:630371064 (601.1 MiB) TX bytes:894837223 (853.3 MiB)
Interrupt:11 Base address:0xc000

irda1 Link encap:IrLAP HWaddr 56:f5:98:8a
UP RUNNING NOARP MTU:2048 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:106393 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:8
RX bytes:0 (0.0 B) TX bytes:1595895 (1.5 MiB)

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:6093 errors:0 dropped:0 overruns:0 frame:0
TX packets:6093 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:379897 (370.9 KiB) TX bytes:379897 (370.9 KiB)

ppp0 Link encap:Point-to-Point Protocol
inet addr:95.х.х.х P-t-P:83.х.х.х Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1464 Metric:1
RX packets:1133697 errors:0 dropped:0 overruns:0 frame:0
TX packets:1749019 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:123070500 (117.3 MiB) TX bytes:1999024963 (1.8 GiB)

----------------------------------------------------------------
А сейчас установил ipmasq
ввел
echo 1 > /proc/sys/net/ipv4/ip_forward
modprobe iptable_nat
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

Пинги между кпк и компом есть в инет так и не выходит.
Опера на кпк просто говорит что удаленный сервер не найден а NetFront говорит
DNS Server not specifed. Хотя в настройках я задал его. Может что то с ДНС на ноуте надо искать?

я так понимаю
у меня должно быть так?
INTIF="ppp0"
EXTIF="eth0"
EXTIP="192.168.0.1"

А DNS ты указал такой же как у ноута? Пинги на него идут?

эм... не совсем понял. в общем на кпк такие настройки.
IP 192.168.0.90
Mask 255.255.255.0
Gate 192.168.0.1
DNS 192.168.0.1

192.168.0.1 <- -> 192.168.0.90
ping 3-4ms

Наоборот, extif это внешний интерфейс, к провайдеру

А что я тогда тут задам? 0_о
EXTIP=

то, что выдает ifconfig ppp0

>DNS 192.168.0.1
У тебя на ноуте DNS? Если нет - поставь IP DNS-сервера провайдера.

Сергей предположительно Жуга
Надо проверить. Просто я расшаривал инет только в винде а там надо задавать так.

Николай Овчинников
Так провайдер адрес раздает динамически. сегодня один завтра другой.

виндоза автоматом поднимает dns
Проще прописать dns провайдера чем настраивать у себя dns
Дык в скрите можно указать чтобы он брал его из ifconfig. Вечером напишу как, счас с трубы пишу - не проверить.

откопал классную мануалку, как сэкономить на точке доступа, используя вместо этого обычное оборудование.
Как раз себе делаю, может и вам поможет:

DR?1?P

SELECT UPD?1?T?1? INSERT UNION

Сорри за флуд. ;)

iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE - это чо за пиздец?

iptables -t nat -A POSTROUTING -p ALL -s 10.1.12.222 -j SNAT --to-source 123.123.123.123

скрипт накатал:

на питоне правда, но там вообще все понятно. если что - спрашивайте.

История конечно ппц.... (((
Попробовал то что писали
Установил ipmasq
потом скрипт который дал Николай Овчинников

#!/bin/sh
INTIF="ppp0"
EXTIF="eth0"
EXTIP="192.168.0.1"
/sbin/depmod -a
/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_conntrack_irc
/sbin/modprobe iptable_nat
/sbin/modprobe ip_nat_ftp
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/ip_dynaddr
iptables -P INPUT ACCEPT
iptables -F INPUT
iptables -P OUTPUT ACCEPT
iptables -F OUTPUT
iptables -P FORWARD DR?1?P
iptables -F FORWARD
iptables -t nat -F
iptables -A FORWARD -i $EXTIF -o $INTIF -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i $INTIF -o $EXTIF -j ACCEPT
iptables -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE

Инет был. Всё нормально.
Выключил комп. Ушел по делам. Пришел домой включаю.... а инета больше нет(((
Сижу теперь в венде в полных непонятках что теперь делать чтоб хотябы восстановить.

Yakov Filippenko
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
Этот пиздец почти на каждом форуме как заветное спасение.

В скрипт не вдавался.
Только непонятны
-----------------------------------------------------------
local_ip = n("/sbin/ifconfig eth0").read().split('\n')[1].strip().split()[1].split(':')[1]
local_iface = 'eth0'

eth0 это что? сетевая или wi-fi?
---------------------------------------------------------
snat_users = {
'HEDDGY':'10.1.15.56',
'LEANID':'10.1.15.146', #7
'ANDREY':'10.1.13.43', # 3
'VALENTINA':'10.1.12.191',
}

Кто такие? Кого мне вместо этого надо вписать? и что значат #3 #7 ?
---------------------------------------------------------
banned_dst_ip = {
'':'204.9.177.18',
'':'62.213.122.2'}
Ну нельзя же так)))) За что?)))
----------------------------------------------------------

Yakov Filippenko:
> SNAT
Мимо :D У него динамический "внешний" IP ;)
>
Скрипт, конечно, Ъ - но зачем же так сложно???

Сергей 影|Shad0w|影 Вергун:
Мог бы к моим трём строчкам добавить
echo "1" > /proc/sys/net/ipv4/ip_dynaddr
и всё.

Сергей 影|Shad0w|影 Вергун

eth0 - интерфейс локальной сети, то есть той сети, откуда будем пускать пользователей в интернет
ppp0 - ну понятно что

разницы в том, что это: езернет или вайфай не вижу ;)

snat_users - список ip'шников, которым будем раздавать интернет
'heddgy' - имя пользователя (ну для статистики используется)
'10.1.15.56' - его ип, записанный строкой

#3, #7 - комментарии ;)
просто лень было удалять их из этого списка (я им на время отрубил инет), поэтому я меняю им последнюю цифру в ip'е, а в комментах пишу, какая должна быть

banned_dst_ip - ну надоели ;)))
кстати, жж переехаил и у них ip шлюза сменился. надо будет перебанить.

Сергей предположительно Жуга

у меня тоже.

строчка
inet_ip = n("/sbin/ifconfig ppp0").read().split('\n')[1].strip().split()[1].split(':')[1]

выдирает ip, привязанный к ppp0

если кому не нужна статистика и/или не охота возиться с sqlite - можно удалить stat() и импорт соответствующих библиотек.

всё ясно. вот только как теперь восстановить инет =(((

У меня корбина. Маршруты вроде прописаны все. После перезагрузки VPN не подключен. открывается. Подключаю VPN и всё.... Опера даже не думает открывать или нет. Сразу пишет Error!

Сергей 影|Shad0w|影 Вергун

сделай
# ./ stop

перезапусти VPN - работает?

очень похоже на то, откуда я брал свой скрипт, с динамическими ip

Yakov Filippenko
я твой скрипт еще не применял
и кпк больше не пингуется((

неудивительно - самый тривиальный путь.
единственно, что там написано на убогом sh

Сергей 影|Shad0w|影 Вергун

ну перезапусти все сетевые интерфейсы.

1) У меня нет модуля pysqlite2 поэтому твой скрипт не стартует.
2) Что закоментить чтоб база sql не использовалась я так и не понял.
:-[ то там то там выскакивает ошибка
3) Так как теперь откатиться после скрипта который давал Николай?

dmesg стал выдавать такие строки. (раньше небыло)
[ 54.707862] IN=eth1 OUT= MAC= SRC=10.41.x.x DST=224.0.0.251 LEN=254 TOS=0x00 PREC=0x00 TTL=255 ID=0 DF PROTO=UDP SPT=5353 DPT=5353 LEN=234
[ 54.967759] IN=eth1 OUT= MAC= SRC=10.41.x.x DST=224.0.0.251 LEN=254 TOS=0x00 PREC=0x00 TTL=255 ID=0 DF PROTO=UDP SPT=5353 DPT=5353 LEN=234
[ 55.219072] IN=eth1 OUT= MAC= SRC=10.41.x.x DST=224.0.0.251 LEN=254 TOS=0x00 PREC=0x00 TTL=255 ID=0 DF PROTO=UDP SPT=5353 DPT=5353 LEN=234
[ 55.420818] IN=eth1 OUT= MAC= SRC=10.41.x.x DST=224.0.0.251 LEN=236 TOS=0x00 PREC=0x00 TTL=255 ID=0 DF PROTO=UDP SPT=5353 DPT=5353 LEN=216
[ 55.648909] lp0: using parport0 (interrupt-driven).
[ 55.700791] IN=eth1 OUT= MAC= SRC=10.41.x.x DST=224.0.0.251 LEN=134 TOS=0x00 PREC=0x00 TTL=255 ID=0 DF PROTO=UDP SPT=5353 DPT=5353 LEN=114
[ 55.848736] ppdev: user-space parallel port driver
[ 55.959432] IN=eth1 OUT= MAC= SRC=10.41.x.x DST=224.0.0.251 LEN=134 TOS=0x00 PREC=0x00 TTL=255 ID=0 DF PROTO=UDP SPT=5353 DPT=5353 LEN=114
[ 56.209560] IN=eth1 OUT= MAC= SRC=10.41.x.x DST=224.0.0.251 LEN=134 TOS=0x00 PREC=0x00 TTL=255 ID=0 DF PROTO=UDP SPT=5353 DPT=5353 LEN=114
[ 56.342654] Clocksource tsc unstable (delta = -66038850 ns)
[ 56.412452] IN=eth1 OUT= MAC= SRC=10.41.x.x DST=224.0.0.251 LEN=223 TOS=0x00 PREC=0x00 TTL=255 ID=0 DF PROTO=UDP SPT=5353 DPT=5353 LEN=203
[ 56.645789] IN=eth1 OUT= MAC= SRC=10.41.x.x DST=224.0.0.251 LEN=169 TOS=0x00 PREC=0x00 TTL=255 ID=0 DF PROTO=UDP SPT=5353 DPT=5353 LEN=149
[ 56.772538] IN=eth1 OUT= MAC= SRC=10.41.x.x DST=224.0.0.251 LEN=74 TOS=0x00 PREC=0x00 TTL=255 ID=0 DF PROTO=UDP SPT=5353 DPT=5353 LEN=54
[ 57.638609] IN=eth1 OUT= MAC= SRC=10.41.x.x DST=224.0.0.251 LEN=223 TOS=0x00 PREC=0x00 TTL=255 ID=0 DF PROTO=UDP SPT=5353 DPT=5353 LEN=203
[ 58.871646] IN=eth1 OUT= MAC= SRC=10.41.x.x DST=224.0.0.251 LEN=213 TOS=0x00 PREC=0x00 TTL=255 ID=0 DF PROTO=UDP SPT=5353 DPT=5353 LEN=193
[ 59.052179] IN=eth1 OUT= MAC= SRC=10.41.x.x DST=224.0.0.251 LEN=74 TOS=0x00 PREC=0x00 TTL=255 ID=0 DF PROTO=UDP SPT=5353 DPT=5353 LEN=54
[ 59.863551] IN=eth1 OUT= MAC= SRC=10.41.x.x DST=224.0.0.251 LEN=223 TOS=0x00 PREC=0x00 TTL=255 ID=0 DF PROTO=UDP SPT=5353 DPT=5353 LEN=203

Винда как варенье...
2 месяца её не трогал а она всё равно испортилась *WALL*

>3) Так как теперь откатиться после скрипта который давал Николай?

# чистим правила
/sbin/iptables -F INPUT
/sbin/iptables -F OUTPUT
/sbin/iptables -F FORWARD

Сергей 影|Shad0w|影 Вергун

либо поставь модуль python-pysqlite2

либо загрузи - тут без статистки

я б поставил так инета нет))

а как тогда ты скрипты мои сливаешь ? ;)

на самом деле могу послать на мыло

> неудивительно - самый тривиальный путь.
> единственно, что там написано на убогом sh

Проще написать порядка 100 строк на тру-питоне, хуле? ;)

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

Вопрос: зачем? :)
Задача была заНАТить инет. На кой моржовый там ГУИ или биллинг? :D

во-первых, я не писал этот скрипт под проблему человека, а писал для своих нужд.

во-вторых, всегда надо думать о будущем развитии чего-нибудь.
конечно всегда можно написать что-нибудь через жопу, не масштабируемое вовсе. и как обычно бывает, что при необходимости добавления новой функциональности такие чудо программисты, который пох на будущее, все будут переписывать с нуля.

что ж флаг вам в руки.

п.с. гуй там для примера, а вот скажем допишите нормальный биллинг к тому sh скрипту, который есть.

Качаю я из винды. периодически перезагружаясь.

Вы тут воюйте вот только скажите как реанимировать инет.

Yakov Filippenko
Скрипт2 выдал ту же ошибку что и первый(закоментченый мной)
LinSh:/home/shad0w# ./
Traceback (most recent call last):
File "./", line 16, in <module>
local_ip = n("/sbin/ifconfig eth0").read().split('\n')[1].strip().split()[1].split(':')[1]
IndexError: list index out of range

Николай Овчинников
# чистим правила
/sbin/iptables -F INPUT
/sbin/iptables -F OUTPUT
/sbin/iptables -F FORWARD
Строки вызывают аллергию.
При попытке перезагрузить. Комп тупо не выключается.
Виснет на Stopping portmap daemon и всё..............