返回列表 發帖

Elastix+pfSense設定問題

最迎試在VM中建了一台Elastix...router是用pfSense的...
在Port forward中已設定了Port 80可進入Elastix的adminpage(成功的)
但是也設定了Port forward 5060,5061,10000-20000和4569...但是Trunk add了後也是顯示"Request sent"

但是因為我的Elastix是有兩張LAN card的...
如果用另一張LAN(WAN,直接出街)的走法的話...是可以成功Registered的...

我的pfSense中還有沒有甚麼需要設定嗎?

我用 pfsense 也好幾年了,感覺你的問題是在 Elastix 主機的 default gateway
OSSLab Blog :: VoIP & IT Consultant

TOP

Elastix主機default dateway是指向pfSense的LAN port IP(192.168.13.1)的...
如果要經webadmin page或是SSH進elastix是沒問題的...所以我一直想會否在pfSense的NAT Port Forward設定有問題...... 2013-03-15_120237.JPG

TOP

本帖最後由 alang 於 2013-3-17 13:10 編輯

請提供以下資訊:
- Elastix 的 sip_nat.conf 設定
- 以下指令的輸出
# ifconfig -a
# route -n
# asterisk -rx "sip show settings"

pfsense: 建議但非必要
- port 5060, 10000-20000 只需開放 UDP 即可
- port 4569 只需開放 TCP
- port 5061 這通常是用於加密連線,如系統不支援可以不用開啟

還有,請再描述一下目前遇到的問題。
OSSLab Blog :: VoIP & IT Consultant

TOP

請提供以下資訊:
- Elastix 的 sip_nat.conf 設定
- 以下指令的輸出
# ifconfig -a
# route -n
# asterisk ...
alang 發表於 2013-3-17 13:09

[root@voip01 ~]# ifconfig -a
eth0      Link encap:Ethernet  HWaddr
          inet addr:192.168.13.11  Bcast:192.168.13.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:413337 errors:0 dropped:0 overruns:0 frame:0
          TX packets:256680 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:31747434 (30.2 MiB)  TX bytes:112836610 (107.6 MiB)

eth1      Link encap:Ethernet  HWaddr
          inet addr:[Public IP]  Bcast:[Public.255]  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:98150 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7669 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:19678943 (18.7 MiB)  TX bytes:4923301 (4.6 MiB)

lo        Link encapocal Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:127472 errors:0 dropped:0 overruns:0 frame:0
          TX packets:127472 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:15173754 (14.4 MiB)  TX bytes:15173754 (14.4 MiB)

[root@voip01 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
[Public.0]    0.0.0.0         255.255.255.0   U     0      0        0 eth1
192.168.13.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     0      0        0 eth0
0.0.0.0         192.168.13.1    0.0.0.0         UG    0      0        0 eth0

[root@voip01 ~]# asterisk -rx "sip show settings"


Global Settings:
----------------
  UDP Bindaddress:        0.0.0.0:5060
  TCP SIP Bindaddress:    Disabled
  TLS SIP Bindaddress:    Disabled
  Videosupport:           No
  Textsupport:            No
  Ignore SDP sess. ver.:  No
  AutoCreate Peer:        No
  Match Auth Username:    No
  Allow unknown access:   No
  Allow subscriptions:    Yes
  Allow overlap dialing:  Yes
  Allow promisc. redir:   No
  Enable call counters:   No
  SIP domain support:     No
  Realm. auth:            No
  Our auth realm          asterisk
  Use domains as realms:  No
  Call to non-local dom.: Yes
  URI user is phone no:   No
  Always auth rejects:    Yes
  Direct RTP setup:       No
  User Agent:             FPBX-2.8.1(1.8.20.0)
  SDP Session Name:       Asterisk PBX 1.8.20.0
  SDP Owner Name:         root
  Reg. context:           (not set)
  Regexten on Qualify:    No
  Legacy userfield parse: No
  Caller ID:              Unknown
  From: Domain:
  Record SIP history:     Off
  Call Events:            Off
  Auth. Failure Events:   Off
  T.38 support:           No
  T.38 EC mode:           Unknown
  T.38 MaxDtgrm:          -1
  SIP realtime:           Disabled
  Qualify Freq :          60000 ms
  Q.850 Reason header:    No
  Store SIP_CAUSE:        No

Network QoS Settings:
---------------------------
  IP ToS SIP:             CS3
  IP ToS RTP audio:       EF
  IP ToS RTP video:       AF41
  IP ToS RTP text:        CS0
  802.1p CoS SIP:         4
  802.1p CoS RTP audio:   5
  802.1p CoS RTP video:   6
  802.1p CoS RTP text:    5
  Jitterbuffer enabled:   No

Network Settings:
---------------------------
  SIP address remapping:  Disabled, no localnet list
  Externhost:             <none>
  Externaddr:             (null)
  Externrefresh:          10

Global Signalling Settings:
---------------------------
  Codecs:                 0xe (gsm|ulaw|alaw)
  Codec Order:            ulaw:20,alaw:20,gsm:20
  Relax DTMF:             No
  RFC2833 Compensation:   No
  Symmetric RTP:          No
  Compact SIP headers:    No
  RTP Keepalive:          0 (Disabled)
  RTP Timeout:            0 (Disabled)
  RTP Hold Timeout:       0 (Disabled)
  MWI NOTIFY mime type:   application/simple-message-summary
  DNS SRV lookup:         Yes
  Pedantic SIP support:   Yes
  Reg. min duration       60 secs
  Reg. max duration:      3600 secs
  Reg. default duration:  120 secs
  Outbound reg. timeout:  20 secs
  Outbound reg. attempts: 0
  Notify ringing state:   Yes
    Include CID:          No
  Notify hold state:      Yes
  SIP Transfer mode:      open
  Max Call Bitrate:       384 kbps
  Auto-Framing:           No
  Outb. proxy:            <not set>
  Session Timers:         Accept
  Session Refresher:      uas
  Session Expires:        1800 secs
  Session Min-SE:         90 secs
  Timer T1:               500
  Timer T1 minimum:       100
  Timer B:                32000
  No premature media:     Yes
  Max forwards:           70

Default Settings:
-----------------
  Allowed transports:     UDP
  Outbound transport:     UDP
  Context:                from-sip-external
  Force rport:            Yes
  DTMF:                   rfc2833
  Qualify:                0
  Use ClientCode:         No
  Progress inband:        Never
  Language:
  MOH Interpret:          default
  MOH Suggest:
  Voice Mail Extension:   *97

TOP

現在的問題是...
如果我經pfSense走的話...sip show registry是顯示 Request Sent的...但不是Registered

因為我的Elastix是有兩張LAN的...
另一張是直接接上WAN port...
如果我將elastix的gateway設定為WAN port的那邊...Trunk立即轉為Registered...

我在想是否在pfSense裡設定DNS之類的...
因為我是用HKBN 2b的...平常有用asterisk的朋友也知道要在/etc/hosts中設定s2hkbntel.net那些設定才能resolve到的......
PS:elastix的DNS是用ISP那個...

TOP

如果你的 asterisk 要透過 LAN 經由 pfsense 作 port forwarding,必須設定 sip_nat.conf

如果你的 asterisk 要透過 WAN 直接與外部連線,sip_nat.conf 不用設

通常 asterisk 會同時處於 LAN 與 WAN 環境,它的用戶端也是分開,意思是 LAN 的用戶就以 LAN 的位址註冊;WAN 用戶就以 WAN 位址註冊
OSSLab Blog :: VoIP & IT Consultant

TOP

啊~各位抱歉...
好像說漏了最重要一點...
我想說的是HKBN 2b帳號在pfSense後未能registered...但是直接經elastix的WAN註冊是可以的...

經pfSense後註冊HKBN 2b的話LOG會顯示" Registration for '3XXXXXXXhk@s2hkbntel.net' timed out, trying again (Attempt #XXXX)"

也試過跟alang兄所提及修改sip_nat.conf好像也不行...

很抱歉剛剛看回全文才驚覺好像說漏了"HKBN 2b"註冊不了......

TOP

原來是 outbound trunk 不能註冊。

可否將 eth1 先暫時停用,然後重啟 asterisk  試試看,指令如下

# ifconfig eth1 down
# route -n 檢查 public IP 路由應該已經被清除
# service asterisk stop
# service asterisk start

如沒有幫助,將 asterisk 開啟 debug 看看有沒更多的訊息可以分析
#asterisk -rvvvvvvvv
CLI> core set debug 10
用完記得調回來
OSSLab Blog :: VoIP & IT Consultant

TOP

應該是pfSense的設定問題...
因為我轉了另一款router後立即Registered了......

pfSense真是不易設定呢......

TOP

試試看,我也不確定有沒有用

Firewall > NAT > Outbound > Add a static route
pfsense-outbound_static_route.png
OSSLab Blog :: VoIP & IT Consultant

TOP

使用asterisk + pfsense 2.0 RC 沒有問題
估計係NAT outbound出現問題, 同埋我要設定outbound udp port 5060 要用static outbound, 即

voip_pbx:5060 > pfsense_ip:5060 > vsp:5060
對方voip server 必須見到你係用5060 udp connect去 port 5060.. 因為如果唔咁樣設定, 比你register到都唔可以接到call (至少pennytel必需咁様設定)

如果用dynamic NAT, 有機會係
voip_pbx:5060 > pfsense_ip:xxxxx > vsp:5060 (xxxxx port > 30000, dynamic port assigned by pfsense)

TOP

我用 pfsense 也好幾年了,感覺你的問題是在 Elastix 主機的 default gateway
alang 發表於 2013-3-15 11:28



請問Alang, 真是太多野要請教你了。我在試pfsense, 我想弄個透明防火墻,放在data center機柜里使用。 我的pfsense是有3個網卡口,打算, 第一個網卡口rl0用作pfsense的管理,接在一臺有openvpn server機器的內網(這樣我就可以經openvpn進入機柜的內網,然後管理pfsense。另外2個網卡口, 一個(bg0)就接IDC的網線入口,另一個網卡口(bg1)就接機柜的交換機,然后交換機上就分別連其他的server的public port. 這個方案可以嗎?是不是將bg0及bg1設置成bridge就可以? set rules時,是在bridge上set rules? 還是分別在bg0及bg1上set rules?
謝謝!

TOP

幾個建議如下:
1. pfsense 已經內建有 OpenVPN 服務,應該不需要另一台 OpenVPN Server
2. pfsense 應該要扮演 LAN 與 WAN 之間的出口,3 個網卡可以這樣分配
WAN x2
LAN x1

切記: 網路規畫上應該要力求簡單、清楚,一旦將架構搞得愈複雜,不僅難維護,可靠度也會降低

要不要設成 bridge 這很難說,要視不同情況以及用途。
OSSLab Blog :: VoIP & IT Consultant

TOP

回復 14# alang

1. openvpn server, 是目前已有個VM guest在跑了。如果真是上了pfsense, 在考慮整合openvpn server.
2. 如何設2個wan口呢?
3. 我打算照以下的指南設置,可以嗎?
http://people.pharmacy.purdue.ed ... William%20Tarrh.pdf

謝謝!

TOP

返回列表