LINUX.ORG.RU

Сообщения HellFire0

 

Proxy-сервер на базе squid за роутером

Форум — Admin

Исходные данные:

  • IP-адрес на WAN-порту маршрутизатора: 10.223.71.15
  • IP-адрес самого шлюза: 192.168.0.1
  • IP-адрес интерфейса сервера (eth0), где необходимо поднять squid: 192.168.0.46
  • Внешний IP-адрес, выданный провайдером, вида: 176.*.*.*

Была задача поднять ipv6-прокси на основе туннеля ipv6-ipv4, чтобы в дальнейшем использовать их в формате: 176.*.*.*:30001-*****. Само туннелирование настроено и работает, а вот с поднятием squid возникла проблема.

Изначально ifconfig выглядел так:

eth0      Link encap:Ethernet  HWaddr 00:1d:60:e0:58:3a  
          inet addr:192.168.0.46  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fd01::21d:60ff:fee0:583a/64 Scope:Общий
          inet6 addr: fe80::21d:60ff:fee0:583a/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:7639426 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4122592 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:10389315184 (10.3 GB)  TX bytes:648579796 (648.5 MB)

he-ipv6   Link encap:IPv6-in-IPv4  
          inet6 addr: 2001:470:*:*:*:*:*:*/64 Scope:Общий
          inet6 addr: 2001:470:*:*:*:*:*:*/64 Scope:Общий
          и т.д.

squid.conf так:

acl localnet src 192.168.0.0/24

http_access allow all

http_port 176.*.*.*:30000 name=p30000
http_port 176.*.*.*:30001 name=p30001
http_port 176.*.*.*:30002 name=p30002
http_port 176.*.*.*:30003 name=p30003
http_port 176.*.*.*:30004 name=p30004

Но при попытке стартануть squid в логи сыпалось следующее:

commBind: Cannot bind socket FD 11 to 176.*.*.*:30000: (99) Cannot assign requested address
При замене 176.*.*.* на 192.168.0.46 или на 127.0.0.1 прокси сервер начинал работать нормально, естественно только из локальной сети, в логах ошибок больше не было.

Повесил этот внешний адрес на eth0, ifconfig стал следующим:

eth0      Link encap:Ethernet  HWaddr 00:1d:60:e0:58:3a  
          inet addr:192.168.0.46  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fd01::21d:60ff:fee0:583a/64 Scope:Общий
          inet6 addr: fe80::21d:60ff:fee0:583a/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:7639426 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4122592 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:10389315184 (10.3 GB)  TX bytes:648579796 (648.5 MB)
          Interrupt:17 

eth0:1    Link encap:Ethernet  HWaddr 00:1d:60:e0:58:3a  
          inet addr:176.*.*.*  Bcast:176.113.255.255  Mask:255.255.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:17 

he-ipv6   Link encap:IPv6-in-IPv4  
          inet6 addr: 2001:470:*:*:*:*:*:*/64 Scope:Общий
          inet6 addr: 2001:470:*:*:*:*:*:*/64 Scope:Общий

Теперь прокси работает и при использовании 176.*.*.*:30001 в браузере, то есть через внешний айпи, но только если проверять с того же самого сервера. Извне и из локальной сети происходит connection timed out. На роутере порты проброшены, серверу назначена статика 192.168.0.46, подозреваю, что дело где-то в iptables.

/etc/network/interfaces:

auto lo
iface lo inet loopback

iface eth0 inet dhcp
auto eth0

auto he-ipv6
iface he-ipv6 inet6 v4tunnel
        address 2001:470:70:f06::2
        netmask 64
        endpoint 216.66.80.162
        ttl 255
        up ip -6 route add default dev he-ipv6
        down ip -6 route del default dev he-ipv6

Ubuntu 14.04

В какую сторону стоит копать для решения проблемы? Заранее спасибо.

 , , ,

HellFire0
()

RSS подписка на новые темы