블로그 이미지
훅크선장

카테고리

분류 전체보기 (361)
사진이야기 (23)
펭귄컴퓨팅 (120)
컴퓨터보안 (84)
절름발이 프로그래머 (59)
하드웨어개조 (23)
멀알려줄까 (35)
홈베이킹&홈쿠킹 (2)
잡다한것들 (15)
Total
Today
Yesterday

달력

« » 2024.4
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

공지사항

태그목록

최근에 올라온 글

OpenWRT에서도 Web Proxy를 운용할 수 있다는 것을 최근에 알게되어서...


다음의 링크들을 보고 설정하였음.


http://wiki.openwrt.org/doc/howto/proxy.tinyproxy

https://forum.openwrt.org/viewtopic.php?id=40631



1. 설치하기

# opkg update

# opkg install tinyproxy luci-app-tinyproxy


2. tinyproxy 설정하기

서비스 활성화 먼저 하고, 

# /etc/init.d/tinyproxy enable


설정파일을 다음과 같이,

# vi /etc/config/tinyproxy


config tinyproxy

    option User 'nobody'

    option Group 'nogroup'

    option Port '8888'

    option Timeout '600'

    option DefaultErrorFile '/usr/share/tinyproxy/default.html'

    option StatFile '/usr/share/tinyproxy/stats.html'

    option MaxClients '100'

    option MinSpareServers '5'

    option MaxSpareServers '20'

    option StartServers '10'

    option MaxRequestsPerChild '0'

    option ViaProxyName 'tinyproxy'

    list ConnectPort '443'

    list ConnectPort '563'

    option enabled '1'

    option FilterExtended '1'

    option Filter '/lib/uci/upload/cbid.tinyproxy.cfg02822b.Filter'

    option FilterURLs '1'

    option LogLevel 'Connect'

    option Syslog '1'

    option enable '1'

    option Allow '192.168.1.0/24'


위에서 자신에 맞게 수정할 것은 딱 두개뿐

option Port '8888'    이것이 바로 프록시 접속 포트번호,  보통 프록시 포트는 3128을 많이 쓰지만, 자신이 원하는 포트로 변경해서 사용하기를 권장.

그리고, option Allow '192.168.1.0/24' 가 바로 접속을 허용할 IP 주소 영역을 지정하므로, 자신이 사용하는 IP 대역만을 지정하는 것이 필요.

(그냥 '0.0.0.0/24' 라고 모든 접속을 허용해 놓더라도, iptables 같은 방화벽에서도 충분히 필터링 할 수 있음. 어차피 방화벽을 열어야하기 때문에 많이 고민하지 않아도 됨.)


서비스 실행

# /etc/init.d/tinyproxy start    또는 restart


# lsof -i 명령어로 포트가 열리고, ps elf 로 서비스가 실행되었는지를 확인하기 바람.


3. 방화벽에 리다이렉트 룰과  IP 필터링 룰 설정하기

# vi /etc/config/firewall


위 방화벽 설정 파일에 다음 내용을 추가한다.


config redirect

    option _name 'proxy'

    option src 'lan'

    option proto 'tcp'

    option src_dport '80'

    option dest_port '8888'

    option src_dip '!192.168.1.1'

    option dest_ip '192.168.1.1'


여기서 가장 중요한 설정은 바로 192.168.1.1  IP 주소로, 반드시 현재 OpenWRT에서 사용하는 로컬LAN의 라우터  IP 주소를 써주어야 함!!

8888  포트 번호는 반드시 앞에서 tinyproxy 설정 포트번호와 동일해야 함.


# vi /etc/firewall.user


파일에 접속 허용을 추가한다.


iptables -I INPUT 1 -p tcp -s 220.25.11.1/24 --dport 8888 -j ACCEPT


위와 같이, 특정 IP 대역에서만 포트번호 8888로 접속할 수 있도록 설정한다.

만약 모든 곳에서 들어올 수 있도록 하려면, 그냥

iptables -I INPUT 1 -p tcp --dport 8888 -j ACCEPT

라고, 설정한다.

앞에서 tinyproxy의 option Allow ''를 이용해서, 접속 제한을 할 수 있다. 알아서 잘 선택하면 된다.


추가.

OpenWRT 같은 홈라우터에서 혼자서 사용한다면, 홈라우터 자원을 너무 많이 사용하면서 대기하지 않도록,

/etc/config/tinyproxy 설정 파일에서

Option MaxClients 와  Option StartServers 설정을 조금 낮춰주는 것이 좋다.




Posted by 훅크선장
, |