블로그 이미지
훅크선장

카테고리

분류 전체보기 (313)
사진이야기 (23)
펭귄컴퓨팅 (99)
컴퓨터보안 (66)
절름발이 프로그래머 (59)
하드웨어개조 (16)
멀알려줄까 (34)
잡다한것들 (15)
Total652,752
Today3
Yesterday84

달력

« » 2017.11
      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에서 OpenVPN 사용을 위한 방화벽 iptables 허용 규칙


방화벽 규칙을 iptables 가 아닌, netfilter로 사용하는 방법입니다. 두 방법에 차이는 없지만, 외국의 사용자들은 netfilter를 더 권장하는 것 같습니다.

/etc/firewall.user는 일종의 custom 룰로 사용하다보니, 좀 더 근본적인 네트워크 필터링?은 netfilter를 더 선호하는 것 같습니다.


/etc/firewall.user  파일에서 사용한 다음의 세 줄이 대상입니다.


###OPENVPN PASS-THROUGH ENABLE RULES###

iptables -I INPUT -p udp --dport 1194 -j ACCEPT

iptables -I FORWARD -i tun+ -j ACCEPT

iptables -I FORWARD -o tun+ -j ACCEPT


----------------------------------------------------------------------------------------------

먼저 위의 세 줄을 모두 주석처리합니다.

# vi /etc/firewall.user

...

###OPENVPN PASS-THROUGH ENABLE RULES###

#iptables -I INPUT -i eth+ -p udp --dport 1194 -j ACCEPT

#iptables -I FORWARD -i tun+ -j ACCEPT

#iptables -I FORWARD -o tun+ -j ACCEPT

...


/etc/config/network 파일에 다음을 추가합니다.

...

...

config interface 'vpn0'

        option proto 'none'

        option ifname 'tun0'


네트워크 인터페이스를 하나 생성하는 것입니다.


/etc/config/firewall 파일에 다음을 추가합니다.(중간쯤에 추가하면 좋습니다.)


config zone

option input ACCEPT

option output ACCEPT

option name openvpn_zone

option network 'vpn0'

option forward REJECT


config forwarding

option dest lan

option src openvpn_zone


config forwarding

option dest wan

option src openvpn_zone


config forwarding

option dest openvpn_zone

option src lan


config rule

option target ACCEPT

option src wan

option proto udp

option dest_port 1194

option family ipv4

option name 'openvpn2openwrt'


순서대로 설명하면,

먼저 vpn 영역의 zone을 생성해줍니다.

두번째로 포워딩을 정의합니다. 포워딩 룰은 모두 3개를 정의합니다.

vpn 영역에서 lan 영역으로,  vpn 영역에서 wan 영역으로, 그리고, lan 영역에서 vpn 영역으로,

총 3개를 정의하면, vpn 상에서 lan 과 wan에 모두 연결이 됩니다.

마지막으로, openvpn 서비스가 사용하는 1194 포트에 대해서 udp 접속이 허가되도록 해줍니다.


이렇게 하고나서, 반드시 OpenWRT 장비를 리부팅해야 됩니다.  zone 설정은 시스템이 재시작되어야만 적용되기 때문이라고 합니다.

# /etc/init.d/network restart

# /etc/init.d/firewall restart

만으로는 해결되지 않습니다.

반드시, OpenWRT 장비를 리부팅해야만 합니다.



저작자 표시
신고
Posted by 훅크선장

티스토리 툴바