tsocks

kurych
Ага! Стоп!
А Вы не путаете ничего? Все примеры с “export…” относятся к HTTP-прокси. Из apt.conf либо вообще уберите все прокси и используйте tsocks, либо укажите правильный: Вроде, должно быть так (я дебианом сильно никогда не увлекался):
Acquire::socks::proxy "socks://user:[email protected]:port/";
со своими, конечно, настройками.
http-proxy и socks-proxy далеко не одно и то же. Так что, относитесь к разным советам внимательнее и вдумчивее.
Да я действительно с начала немного сам запутался и пытался пустить все через http и ftp прокси, но затем додумался и догуглился.
1.Я прбовал запускать только через tsock без настроек proxy в apt.
2.Создавал apt.conf и правил его на socks
3. Добавлял к п.2 apt.conf.d/proxy с параметрами socks-proxy
4.Пробовал только apt.conf.d/proxy
5.export socks_proxy и пропись его в /etc/enviroment
UPD: проблема в том что у меня получается ходить через tsocks только по ip, что trace, что wget.
$ tsocks wget google.com
--2012-12-24 18:07:44--  http://google.com/
Распознаётся google.com... сбой: Имя или служба не известны.
wget: unable to resolve host address «google.com»
$ tsocks wget 74.125.71.105
--2012-12-24 18:08:14--  http://74.125.71.105/
Устанавливается соединение с 74.125.71.105:80... соединение установлено.
Запрос HTTP послан, ожидается ответ... 200 OK
Cookie, пришедшие из 74.125.71.105, попытались установить домен в 74.125.71.105
Длина: нет информации [text/html]
Saving to: «index.html»
    [ <=>                                   ] 10 459      --.-K/s   в 0s       
2012-12-24 18:08:15 (80,5 MB/s) - «index.html» saved [10459]
В /etc/resolv.conf прописал все как на сервере с и-нетом.
Тогда дело ясное. “Следите за руками”:
на сервере, через который Вы предполагаете ходить в инет, вероятно, прописаны днс сервера Вашего провайдера. Если они из другой подсети, то для компьютера, который должен выходить в инет через прокси, они недоступны. tsocks не туннелирует dns-запросы (хотя в firefox можно в настройках явно указать отправлять dns-запросы через socks-туннель).
Поэтому, либо настраивайте на том же сервере какой-нибудь кеширующий dns-сервер, типа dnsmasq, что бы он был доступен внутренним хостам локалки, либо http-proxy, через который DNS туннелируется по умолчанию, либо настраивайте нормальную маршрутизацию с NAT на сервере.
Т.е.
Устанавливаю dnsmsq, прописываю
это в конфиг
listen-address=127.0.0.1
тут добавляю к своему провайдеру локалхост
echo "nameserver 127.0.0.1" >> /etc/resolv.conf.head
cat /etc/resolv.conf
Generated by dhcpcd from wlan0
nameserver 127.0.0.1
nameserver 204.194.232.200
nameserver 192.168.0.1
nameserver 8.8.8.8
и запускаю dnsmasq.

dig archlinux.org | grep "Query time"
;; Query time: 197 msec
dig archlinux.org | grep "Query time"
;; Query time: 4 msec

DHCP мне не нужен.
А потом указываю на клиентской машине в resolv.conf адрес моего сервера, так?
Или мне надо пройтись по всем репам, что бы они появились в кеше?
Вам необходимо, что бы сервер с запущенным dnsmsq отвечал на запросы хостов внутренней сети. То есть, он должен слушать не только на 127.0.0.1, но и на интерфейсе, смотрящем в LAN.
Рекомендую нарисовать, хотя бы на бумажке, свою схему, кто куда смотрит, кто к кому какие запросы посылает. Понятнее же будет. А то уже от socks ушли в настройку кеширующего DNS.
(в русской статье про dnsmsq адрес 127.0.0.1 упоминается как достаточный для работы кеширующего сервера имен только потому, что в этом том примере dnsmsq используется на одном и том же компьютере. Не для всей сети.)

dnsmasq слушает на 127.0.0.1 и 192.168.0.1 192.168.0.103

kurych
маршрутизацию с NAT на сервере
Вариант с такой раздачей интернета имеет право на жизнь?
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ppp0 -j MASQUERADE
+———-+
| client |
+———-+

cat /etc/resolv.conf
ip a
traceroute server
telnet server 22
^]
quit
dig yahoo.com @8.8.8.8
dig yahoo.com
подъытожим.
ЗЫ: а сквид на самом “роутере” не посильная нагрузка?
Лозунг у них был такой: "Познание бесконечности требует бесконечного времени". С этим я не спорил, но они делали из этого неожиданный вывод: "А потому работай не работай — все едино". И в интересах неувеличения энтропии Вселенной они не работали. (с)
cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.0.103
nameserver 192.168.0.1
ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
    link/ether 00:0c:6e:d8:48:9c brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.102/24 brd 192.168.0.255 scope global eth2
    inet6 fe80::20c:6eff:fed8:489c/64 scope link
       valid_lft forever preferred_lft forever
3: pan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN
    link/ether f6:e8:99:4b:14:5b brd ff:ff:ff:ff:ff:ff
traceroute 192.168.0.103
traceroute to 192.168.0.103 (192.168.0.103), 30 hops max, 60 byte packets
 1  192.168.0.103 (192.168.0.103)  2.685 ms  2.606 ms  2.620 ms
 telnet 192.168.0.103 22
Trying 192.168.0.103...
Connected to 192.168.0.103.
Escape character is '^]'.
SSH-2.0-OpenSSH_6.1
^]
telnet> quit
Connection closed.
dig yahoo.com @8.8.8.8
; <<>> DiG 9.7.3 <<>> yahoo.com @8.8.8.8
;; global options: +cmd
;; connection timed out; no servers could be reached
dig yahoo.com
; <<>> DiG 9.7.3 <<>> yahoo.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 42391
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;yahoo.com.			IN	A
;; ANSWER SECTION:
yahoo.com.		2193	IN	A	98.139.183.24
yahoo.com.		2193	IN	A	98.138.253.109
yahoo.com.		2193	IN	A	72.30.38.140
;; Query time: 23 msec
;; SERVER: 192.168.0.103#53(192.168.0.103)
;; WHEN: Wed Dec 26 17:56:40 2012
;; MSG SIZE  rcvd: 75
И как бы все работает, wget и apt прошли, дальше проверить времени нету.
UPD:цель достигнута, консольные утилиты через tsocks выполняются корректно. Спасибо, kurych ,за очередную решенную проблему и повышение моей, никакой, квалификации :)

sleepycat
ЗЫ: а сквид на самом “роутере” не посильная нагрузка?
Даже не представляю себе =)
kurych
маршрутизацию с NAT на сервере

После того как с socks все заработало, решил пойти по совету kurych и попробовать более нормальный вариант.

Но я - не я, если у меня все сразу не заводится.
И по порядочку.
Мой сервер.
Настроив dnsmasq


Планировал уже писать слезное полотно, но понял что удар мне показался очень знакомым и родным. Как оказались я прыгал на те же грабли с ip_forward.
listen-address=127.0.0.1, 192.168.0.101
interface=wlan0
no-dhcp-interface=ppp0
resolv-file=/etc/resolv.conf
#domain=example.local
dhcp-range=192.168.0.100,162.168.0.198,24h
cache-size=250

ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.2  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::ca0a:a9ff:fef9:b422  prefixlen 64  scopeid 0x20<link>
        ether c8:0a:a9:f9:b4:22  txqueuelen 1000  (Ethernet)
        RX packets 22494  bytes 16479532 (15.7 MiB)
        RX errors 0  dropped 14  overruns 0  frame 0
        TX packets 20543  bytes 3210388 (3.0 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 16436
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 1257  bytes 44839 (43.7 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1257  bytes 44839 (43.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
ppp0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST>  mtu 1492
        inet 109.109.210.77  netmask 255.255.255.255  destination 109.109.214.1
        ppp  txqueuelen 3  (Point-to-Point Protocol)
        RX packets 21148  bytes 15925644 (15.1 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 18793  bytes 2692035 (2.5 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.101  netmask 255.255.255.0  broadcast 192.168.0.255
        inet6 fe80::c646:19ff:fea5:a214  prefixlen 64  scopeid 0x20<link>
        ether c4:46:19:a5:a2:14  txqueuelen 1000  (Ethernet)
        RX packets 190448  bytes 175992302 (167.8 MiB)
        RX errors 0  dropped 7  overruns 0  frame 0
        TX packets 135993  bytes 23795457 (22.6 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

“Моё любимое”
cat /proc/sys/net/ipv4/ip_forward
1
cat /proc/sys/net/ipv4/ip_dynaddr
1
Собственно правило.
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ppp0 -j MASQUERADE

На клиентской машине прошлось повоевать только с NetworkManager.

cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug eth2
iface eth2 inet static
address 192.168.0.135
netmask 255.255.255.0
networ 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.101
dns-nameservers 192.168.0.101
#NetworkManager#iface eth0 inet dhcp

ifconfig
eth2      Link encap:Ethernet  HWaddr 00:0c:6e:d8:48:9c
          inet addr:192.168.0.135  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:6eff:fed8:489c/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:18 errors:0 dropped:0 overruns:0 frame:0
          TX packets:58 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1883 (1.8 KiB)  TX bytes:7587 (7.4 KiB)
          Interrupt:19 Base address:0x9800

cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.0.101

ping -c5 google.com
PING google.com (188.43.64.185) 56(84) bytes of data.
64 bytes from 188.43.64.185: icmp_req=1 ttl=60 time=94.3 ms
64 bytes from 188.43.64.185: icmp_req=2 ttl=60 time=95.8 ms
64 bytes from 188.43.64.185: icmp_req=3 ttl=60 time=104 ms
64 bytes from 188.43.64.185: icmp_req=4 ttl=60 time=97.4 ms
64 bytes from 188.43.64.185: icmp_req=5 ttl=60 time=95.2 ms
--- google.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 20623ms
rtt min/avg/max/mdev = 94.396/97.501/104.585/3.695 ms
 
Зарегистрироваться или войдите чтобы оставить сообщение.