환경은 이렇습니다.
NAT Server : 커널 2.4.18, iptables 1.2.7a, Patch-o-matic 20030107
PC 1
(192.168.0.3) |
|------- NAT Server -------- ADSL
VoIP 모뎀 | 192.168.0.1
(192.168.0.2) |
VoIP 모뎀은 클라이언트용인거 같습니다.
NAT에서 VoIP를 위한 모듈을 위해서는 H323과 관련있다는 문서를 보고
일주일 정도 삽질해서 겨우 올렸습니다.
ipt_state 1536 0 (unused)
iptable_filter 2368 0 (unused)
ipt_REJECT 3488 0 (unused)
ipt_MASQUERADE 2400 1
ip_nat_h323 3808 0 (unused)
ip_conntrack_h323 3680 1
ip_conntrack_ftp 5312 1 (autoclean)
ip_nat_ftp 4192 0 (unused)
iptable_nat 21780 3 [ipt_REDIRECT ipt_MASQUERADE ip_nat_h323 ip_nat_ftp]
ip_conntrack 25164 4 [ipt_state ipt_REDIRECT ipt_MASQUERADE ip_nat_h323 ip_conntrack_h323 ip_conntra
ck_ftp ip_nat_ftp iptable_nat] VoIP관련 패킷은 H323, H225, G723, G729A 등을 따른다고 메뉴얼에 있네요.
테스트 결과 PC1에서 외부로 ICMP 패킷이 잘 전달 됩니다.
문제는 여기서 부터입니다.
VOIP 모뎀은 콘솔(TELNET)으로 접속할수 있는데 모뎀콘솔에서 외부로
ICMP 날리면 잘 됩니다.(ping 168.126.63.1 --> OK)
VOIP 모뎀에 있는 TEL1의 전화선 연결짹에 전화기를 연결하고 전화를 걸어보니
안됩니다.
물론 H323관련 모든 TCP, UDP에 대한 포트를 PREROUTING 주었습니다.
외국문서를 다음과 같은 내용이 있던데요.
> I read in an Avaya White Paper that NAT typically does not handle VoIP
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> successfully because H.323 encapsulates the destination IP address in the
> Q.931 and H.225 headers, as well as in the IP header. Has an extension to
> iptables been developed for VoIP?
NAT내부에서 VOIP를 위한 음성패킷을 외부로 전달하는게 불가능하다는 말인지?
VOIP HOWTO문서는 단지 VOIP를 위한 구현방법을 설명한내용이고
클라이언트에 대한 설정, 특히 NAT 내부에서의 설정에 대한 부분은 없더군요.
조언바랍니다.