LINUX.ORG.RU
решено ФорумAdmin

настройка прокси сервера на OpenWRT

 , ,


0

1

Всем привет!

В общем на работе урезали скорость интернета, а также поставили запрет на скачивание exe, rar, что собственно подвигло меня на решение этой проблемы. Решение было на виду поставить админу пиво, но к сожалению локальный админ ничего не решает у него самого такой же интернет, это прокси сервер через открытий порт 443.

Дабы никому не платить за виртуальный сервер, то решил всё делать на домашнем роутере, итого имеем: 1) Роутер TP-Link TL-WR1043N/ND v1; 2) Прошивка роутера OpenWrt Attitude Adjustment 12.09 / LuCI 0.11.1 Release (0.11.1); 3) Интернет от Yota (свисток воткнут в USB роутера); 4) Так как внешний IP динамический то, установил и настроил пакет Dynamic DNS (сервис NoIP), работает успешно; 5) Установил прокси сервер «privoxy», который успешно работает по локальной сети.

Требуется: 1) Прокси сервер доступный с «внешки».

Проблема заключается в том, что никак не могу открыть и пробросить порт 443 с внешки на прокси сервер, пробовал по разному и через web интерфейс и через iptables, результат всегда один и тот же, порт закрыт и не проброшен.

Конфиги: /etc/config/firewall

config defaults
        option input 'ACCEPT'
        option output 'ACCEPT'
        option forward 'ACCEPT'
        option syn_flood '1'

config zone
        option name 'lan'
        option input 'ACCEPT'
        option output 'ACCEPT'
        option forward 'ACCEPT'
        option network 'lan'

config zone
        option name 'wan'
        option output 'ACCEPT'
        option input 'ACCEPT'
        option forward 'ACCEPT'
        option network 'wan'
        option masq '1'
        option mtu_fix '1'

config rule
        option name 'Allow-DHCP-Renew'
        option src 'wan'
        option proto 'udp'
        option dest_port '68'
        option target 'ACCEPT'
        option family 'ipv4'

config rule
        option name 'Allow-Ping'
        option src 'wan'
        option proto 'icmp'
        option icmp_type 'echo-request'
        option family 'ipv4'
        option target 'ACCEPT'

config rule
        option name 'Allow-DHCPv6'
        option src 'wan'
        option proto 'udp'
        option src_ip 'fe80::/10'
        option src_port '547'
        option dest_ip 'fe80::/10'
        option dest_port '546'
        option family 'ipv6'
        option target 'ACCEPT'

config rule
        option name 'Allow-ICMPv6-Input'
        option src 'wan'
        option proto 'icmp'
        list icmp_type 'echo-request'
        list icmp_type 'echo-reply'
       list icmp_type 'destination-unreachable'
        list icmp_type 'packet-too-big'
        list icmp_type 'time-exceeded'
        list icmp_type 'bad-header'
        list icmp_type 'unknown-header-type'
        list icmp_type 'router-solicitation'
        list icmp_type 'neighbour-solicitation'
        list icmp_type 'router-advertisement'
        list icmp_type 'neighbour-advertisement'
        option limit '1000/sec'
        option family 'ipv6'
        option target 'ACCEPT'

config rule
        option name 'Allow-ICMPv6-Forward'
        option src 'wan'
        option dest '*'
        option proto 'icmp'
        list icmp_type 'echo-request'
        list icmp_type 'echo-reply'
        list icmp_type 'destination-unreachable'
        list icmp_type 'packet-too-big'
        list icmp_type 'time-exceeded'
        list icmp_type 'bad-header'
        list icmp_type 'unknown-header-type'
        list icmp_type 'router-solicitation'
        list icmp_type 'neighbour-solicitation'
        list icmp_type 'router-advertisement'
        list icmp_type 'neighbour-advertisement'
        option limit '1000/sec'
        option family 'ipv6'
        option target 'ACCEPT'

config include
        option path '/etc/firewall.user'

config forwarding
        option dest 'lan'
        option src 'wan'

config forwarding
        option dest 'wan'
        option src 'lan'

config rule
        option target 'ACCEPT'
        option src 'lan'
        option src_port '443'
        option dest_port '443'

config rule
        option target 'ACCEPT'
        option src 'wan'
        option proto 'tcp'
        option dest_port '443'
        option name 'HTTPS'
        option dest '*'

config redirect
        option target 'DNAT'
        option src 'wan'
        option dest 'lan'
        option proto 'tcp'
        option src_dport '443'
        option dest_port '443'
        option name 'HTTPS'

config rule
        option target 'ACCEPT'
        option src 'wan'
        option src_port '80'
        option dest_port '80'
        option dest 'lan'
        option dest_ip '192.168.1.1'

config rule
        option target 'ACCEPT'
        option src 'wan'
        option proto 'tcp'
        option dest_port '80'
        option name 'HTTP'

/etc/firewall.user

iptables -A input_rule -i eth0.2 -p tcp --dport 443 -j ACCEPT

/etc/config/network

config interface 'loopback'
        option ifname 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config interface 'lan'
        option ifname 'eth0.1'
        option type 'bridge'
        option proto 'static'
        option ipaddr '192.168.1.1'
        option netmask '255.255.255.0'

config interface 'wan'
        option type 'bridge'
        option _orig_ifname 'eth0.2'
        option _orig_bridge 'true'
        option proto 'static'
        option ipaddr '10.0.0.254'
        option netmask '255.255.255.0'
        option gateway '10.0.0.1'
        option dns '8.8.8.8'
        option ifname 'eth0.2 eth1'

config switch
        option name 'rtl8366rb'
        option reset '1'
        option enable_vlan '1'

config switch_vlan
        option device 'rtl8366rb'
        option vlan '1'
        option ports '1 2 3 4 5t'

config switch_vlan
        option device 'rtl8366rb'
        option vlan '2'
        option ports '0 5t'

/etc/privoxy/config

confdir /etc/privoxy
logdir /var/log
filterfile default.filter
logfile privoxy
actionsfile match-all.action # Actions that are applied to all sites and maybe overruled later on.
actionsfile default.action   # Main actions file
#actionsfile user.action      # User customizations
listen-address  192.168.1.1:443
toggle  1
enable-remote-toggle  1
enable-remote-http-toggle  0
enable-edit-actions 1
enforce-blocks 0
buffer-limit 4096
forwarded-connect-retries  0
accept-intercepted-requests 0
allow-cgi-request-crunching 0
split-large-forms 0
keep-alive-timeout 300
socket-timeout 300
debug   1    # show each GET/POST/CONNECT request
debug   4096 # Startup banner and warnings
debug   8192 # Errors - *we highly recommended enabling this*
#admin-address privoxy-admin@example.com
#proxy-info-url http://www.example.com/proxy-service.html


Последнее исправление: piratx (всего исправлений: 2)
listen-address 192.168.1.1:443

замени на

listen-address :443

/etc/config/firewall почисти от мусора и оставь одно правило:

config rule
        option src              wan
        option dest_port        443
        option target           ACCEPT
        option proto            tcp

Не забудь поставить пароль на прокси.

P.S. Можно проще — перевесь SSH на 443 порт, а на клиенте сделай ssh <user>@<host> -D 1080, будет SOCKS-прокси.

Black_Roland ★★★★
()
Последнее исправление: Black_Roland (всего исправлений: 2)
Ответ на: комментарий от Black_Roland

Спасибо за ответ!

listen-address :443
Поставил.

Лишнее из /etc/config/firewall удалил, теперь он вот такой:

config defaults
        option input 'ACCEPT'
        option output 'ACCEPT'
        option forward 'ACCEPT'
        option syn_flood '1'

config zone
        option name 'lan'
        option input 'ACCEPT'
        option output 'ACCEPT'
        option forward 'ACCEPT'
        option network 'lan'

config zone
        option name 'wan'
        option output 'ACCEPT'
        option input 'ACCEPT'
        option forward 'ACCEPT'
        option network 'wan'
        option masq '1'
        option mtu_fix '1'

config include
        option path '/etc/firewall.user'

config forwarding
        option dest 'lan'
        option src 'wan'

config forwarding
        option dest 'wan'
        option src 'lan'

config rule
        option src 'wan'
        option dest_port '443'
        option target 'ACCEPT'
        option proto 'tcp'

config redirect
        option target 'DNAT'
        option src 'wan'
        option dest 'lan'
        option proto 'tcp'
        option src_dport '443'
        option dest_ip '192.168.1.1'
        option dest_port '443'
        option name 'HTTPS'
        option src_port '443'
К сожалению не помогает...

piratx
() автор топика
Ответ на: комментарий от Black_Roland

Забыл уточнить, клиентская машина на Windows.

piratx
() автор топика
Ответ на: комментарий от piratx
config redirect
        option target 'DNAT'
        option src 'wan'
        option dest 'lan'
        option proto 'tcp'
        option src_dport '443'
        option dest_ip '192.168.1.1'
        option dest_port '443'
        option name 'HTTPS'
        option src_port '443'

Это правило не нужно. /etc/firewall.user тоже почистил?

privoxy запущен? Сделай ps | grep privoxy

Black_Roland ★★★★
()

Вы _точно_ уверены, что у вас белый IP? На веб-интерфейс роутера зайти можете с другого компьютера?

ValdikSS ★★★★★
()
Ответ на: комментарий от Black_Roland

P.S. Можно проще — перевесь SSH на 443 порт, а на клиенте сделай ssh <user>@<host> -D 1080, будет SOCKS-прокси.

Плюсую. ТС придумал какие-то себе сложности через костыли и грабли.

Turbid ★★★★★
()
Ответ на: комментарий от ValdikSS

Вы _точно_ уверены, что у вас белый IP? На веб-интерфейс роутера зайти можете с другого компьютера?

Если мне не изменяет память, то по умолчанию веб-интерфейс закрыт из Интернета. Проще сравнить IP адреса в ifconfig и на сайте http://ifconfig.me/ip

Black_Roland ★★★★
()
Ответ на: комментарий от Turbid

Плюсую. ТС придумал какие-то себе сложности через костыли и грабли.

Угу. У ТС оффтоп, но сути не меняет. Под винду есть Putty, который тоже умеет проброс портов.

Black_Roland ★★★★
()
Ответ на: комментарий от Black_Roland

Извиняюсь что не отвечал, подключал другой интернет (наконец то избавился от Yota), сейчас попробую, с новым интернетом :)

piratx
() автор топика

Всё проблема с портами решена! Всё дело было в yota видимо провайдера были порты закрыты, с другим интернетом всё прекрасно открывается!

Так сейчас проверю, работу прокси.

piratx
() автор топика

Да вся проблема была в Yota, всё настроилось и успешно работает, как в локальной сети так и из вне! Всем спасибо за помощь!

piratx
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.