[FreeBSD-users-jp 95612] Re: IPF+IPNAT+MPD5の設定で通信が途切れる
KIRIYAMA Kazuhiko
kiri @ kx.openedu.org
2015年 10月 3日 (土) 12:53:10 UTC
At Sat, 03 Oct 2015 17:26:07 +0900,
centrum at snow.plala.or.jp wrote:
>
> 粟飯原と申します。
> ここに質問を投げるのは久し振りなので緊張してます
>
> 昨日からFreebsd10.2-REALEASE-p4を
> インストールしたマシンで
> IPF+IPNAT+mpd5を組み合わせて
> ルーター機をセッティングしています。
>
> イメージとしてはこのルーター機が
> ゲートウェイになっており、
> 下位にWebサーバが1つだけ
> ぶら下がっている構成です。
> ※イーサネットハブが間に入ってて、それが原因かと思い
> 取り外して直接マシン同士繋いでいますが
> 変化が見られませんでした。
>
>
> NICはIntelR PRO/1000 PT DualPortを
> 使用してem0をLAN側に、em1をmpd5を
> 使用してpppoeを喋らせて、ng0として
> 機能させています。
>
> ルーティングもIPFilterの設定も
> 何度も見直したのですが、とうとう自分で
> 解決出来ない雰囲気が出てきたので
> 諸先輩方に解決のヒントでも頂ければと思い
> メールを出させて頂きました。
>
>
> 症状としては、現状ではWebの閲覧も
> メールの送受信も問題ありませんので
> ルーティングもスムーズに行われていると
> 認識していたのですが、ふとした拍子に
> メール送信時にタイムアウトが頻繁に発生したり、
> webが表示されなくなったりしています。
>
> webに関してはリロードを繰り返すと
> 正常に表示されるようになり、
> メールについてはしぶとく中断と受信を
> 繰り返すと受信出来たりします。
>
> 特に5アカウントほどのメールを一気に受信する
> とほぼ3個目のアカウントぐらいでタイムアウトし、
> 停止したアカウントに問題があるのかと思い
> 単独で送受信させると、アッサリ受信出来たり。
>
> なにが何やら頭が混乱してきますw
>
>
> コンソールでipmon -a としてリダイレクト等の
> NAT処理に問題でもあるのかと眺めていましたが
> 問題となるような事も発見出来ずです。
>
>
> このルーター機は古いルーター機の
> 代替機として準備した物で、設定などは
> ほぼ旧機の設定を丸コピーしてあります。
>
>
> パケットが途中で破棄されている様な
> そんな感じかなと自分では思っているのですが。。。
>
>
>
> 以下rc.confの内容です。
>
> ////////////////////////////////
>
> hostname="+++++.-----.jp"
> keymap="jp.106.kbd"
> ifconfig_em1="UP"
> gateway_enable="YES"
>
> ifconfig_em1="mtu 1492"
> ifconfig_em0="inet 192.168.1.5 netmask 255.255.255.0 mtu 1492"
>
> natd_enable="NO"
>
> ntpd_enable="YES"
> ntpd_config="/etc/ntp/ntp.conf"
> dumpdev="AUTO"
>
> ipnat_enable="YES"
> ipnat_rules="/etc/ipnat.rules"
> firewall_enable="YES"
> firewall_type="OPEN"
> ipfilter_enable="YES"
> ipfilter_rules="/etc/ipf.rules"
> ipfilter_flags=""
>
> mpd_enable="YES"
>
> ipmon_enable="YES"
> ipmon_flags="-D /var/log/ipf.log"
> portmap_enable="no"
>
> sendmail_enable="NONE"
> sendmail_submit_enable="NO"
> sendmail_outbound_enable="NO"
> sendmail_msp_queue_enable="NO"
>
> webmin_enable="YES"
> inetd_enable="YES"
>
> //////////////////////////////////
>
> 以下ipnat.rulesの内容です
>
> map ng0 192.168.1.0/24 -> 0/32 proxy port ftp ftp/tcp mssclamp 1414
> map ng0 192.168.1.0/24 -> 0/32 portmap tcp/udp auto mssclamp 1414
> map ng0 192.168.1.0/24 -> 0/32 mssclamp 1414
>
> rdr ng0 0.0.0.0/0 port 80 -> 192.168.1.3 port 80 tcp
> rdr ng0 0.0.0.0/0 port 110 -> 192.168.1.3 port 110 tcp
> rdr ng0 0.0.0.0/0 port 587 -> 192.168.1.3 port 25 tcp
> rdr ng0 0.0.0.0/0 port 21 -> 192.168.1.3 port 21 tcp
> rdr ng0 0.0.0.0/0 port 50022 -> 192.168.1.3 port 50022 tcp
> rdr ng0 0.0.0.0/0 port 10000 -> 192.168.1.3 port 10000 tcp
> rdr ng0 0.0.0.0/0 port 143 -> 192.168.1.3 port 143 tcp
>
> //////////////////////////////////
>
>
> 因みに、IPFilterの内容もIn/Out全て
> passする設定にしても変化がありません。
>
> 途中で通信が途切れるような感じです。
>
>
> 宜しくお願いします。
>
>
> 粟飯原
> _______________________________________________
> freebsd-users-jp at freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-users-jp
> To unsubscribe, send any mail to "freebsd-users-jp-unsubscribe at freebsd.org"
>
昔,mpd5 を使ってたとき,{ipfw_nat,pf}+mpd でうまくいかなかっ
たので mpd の nat に切り替えたことがありました.随分前(9.1-*)
なのでアレですが,/usr/local/etc/mpd5/mpd.conf で
startup:
set user admin * *
set console self 127.0.0.1 5005
set console open
set web self 0.0.0.0 5006
set web open
default:
load pppoe
pppoe:
create bundle static B1
set iface route default
set ipcp ranges 0.0.0.0/0 0.0.0.0/0
set iface mtu 1454
set iface enable tcpmssfix
set iface enable nat
set nat enable log
set nat disable incoming
set nat enable unreg-only
set nat red-port tcp *.*.*.* 25 192.168.1.3 25
set nat red-port tcp *.*.*.* 80 192.168.1.4 80
set nat red-port tcp *.*.*.* 21 192.168.1.5 21
set nat red-port tcp *.*.*.* * 192.168.1.254 *
set nat red-port tcp *.*.*.* * 192.168.1.1 22
set nat red-port tcp *.*.*.* * 192.168.1.2 22
set nat red-port tcp *.*.*.* * 192.168.1.3 22
set nat red-port tcp *.*.*.* * 192.168.1.4 22
set nat red-port tcp *.*.*.* * 192.168.1.5 22
set nat red-port tcp *.*.*.* * 192.168.1.7 *
create link static L1 pppoe
set link action bundle B1
set auth authname "*@*.*.*.*"
set link max-redial 0
set link mtu 1454
set link mru 1454
set link keep-alive 10 60
set link no acfcomp protocomp
set link accept chap
set pppoe iface em0
set link enable incoming
set pppoe service ""
log
open
とかすればとりあえず nat できると思います(`*' はサイト固有の
情報です).ただ,ng_* を追加ロードしないといけませんが,私は
面倒なので
--- /usr/local/etc/rc.d/mpd5.org 2014-03-18 22:15:39.000000000 +0900
+++ /usr/local/etc/rc.d/mpd5 2014-10-05 22:31:04.000000000 +0900
@@ -28,6 +28,7 @@
pidfile="/var/run/${name}.pid"
command="/usr/local/sbin/${name}"
required_files="/usr/local/etc/${name}/mpd.conf"
+required_modules="netgraph ng_socket ng_iface ng_ppp ng_bpf ng_vjc ng_pppoe ng_ether ng_nat"
case "${mpd_flags}" in
*-p\ *)
してました.
---
KIRIYAMA Kazuhiko
freebsd-users-jp メーリングリストの案内