iptables DNAT 無法正常使用 - Linux
By Damian
at 2013-03-29T10:35
at 2013-03-29T10:35
Table of Contents
測試環境:
Ubuntu 12.04, iptables 1.4.12
192.168.100.7(A主機,複製封包)
192.168.100.7(B主機,接收複製後的封包)
測試指令:
-t mangle -A PREROUTING -p tcp --dport 1337 -j TEE --gateway 192.168.100.8
主要是想要利用iptable去實作Port Mirror的功能,
拜過Google後,先找到Netfilter的Patch-o-Matic要去實作,
但後來研究了老半天實在覺得非常麻煩而且也久未更新,
因此放棄了該條路走其他方法,
眼殘的我在原本Netfilter的網頁下發現替代方案是xtables-addons,
馬上裝起來試用看看,但是好像沒有任何用處,
(最後發現原本的系統上就有libxt_TEE.so的模組可以用),
我開始測試封包(wireshark,tcpdump)是否有被複製一份到目的主機,
原來有被複製過去!!!
但是我現在卻不知道應該怎樣處理這個封包才能正常運作...
試想過後,發現問題應該是這樣,不知道是否正確?
還請高手幫忙解惑阿....感謝阿!
P.S
目前簡單使用nc -l 0.0.0.0 1337的方式打開一個1337 port,
並使用telnet 192.168.100.7 1337去作連接測試
1.複製過後的封包,並未正常被轉換成B主機的IP(192.168.100.8),所以封包無法被利用?
=>目前使用DNAT方式將destination轉成B主機IP並觀察log,
確定封包有正常接收,但是Output的時候,封包卻莫名地消失了,
尚在追查問題中...
相關指令:
-t nat -A PREROUTING -p tcp --dport 1337 -d 192.168.100.7 -j LOG
-t nat -A PREROUTING -p tcp --dport 1337 -d 192.168.100.7 -j DNAT --to-destination 192.168.100.8
-t nat -A POSTROUTING -o eth1 -j LOG
-t filter -A INPUT -p tcp --dport 1337 -j LOG
-t filter -A OUTPUT -p tcp --sport 1337 -j LOG
Log:
IN=eth1 OUT= MAC=08:00:27:e5:16:4f:08:00:27:25:8b:a9:08:00 SRC=192.168.100.7 DST=192.168.100.7 LEN=60 TOS=0x10 PREC=0x00 TTL=63 ID=57096 DF PROTO=TCP SPT=49067 DPT=1337 WINDOW=32792 RES=0x00 SYN URGP=0
IN=eth1 OUT= MAC=08:00:27:e5:16:4f:08:00:27:25:8b:a9:08:00 SRC=192.168.100.7 DST=192.168.100.8 LEN=60 TOS=0x10 PREC=0x00 TTL=63 ID=57096 DF PROTO=TCP SPT=49067 DPT=1337 WINDOW=32792 RES=0x00 SYN URGP=0
IN= OUT=eth1 SRC=192.168.100.8 DST=192.168.100.7 LEN=40 TOS=0x10 PREC=0x00 TTL=64 ID=0 DF PROTO=TCP SPT=1337 DPT=49067 WINDOW=0 RES=0x00 ACK RST URGP=0
2.請問使用Port Mirror時候,接收複製封包的主機(B主機)應該要正常去解析封包並回傳嗎?
(主要是想用Port Mirror去做一些線上壓力測試等)
下面是利用tcpdump在B主機擷取到的資訊,
10:21:59.736024
IP 192.168.100.7.48931 > 192.168.100.7.1337:
Flags [S], seq 363343082, win 32792,
options [mss 16396,sackOK,TS val 736800 ecr 0,nop,wscale 5], length 0
10:21:59.736067
IP 192.168.100.7.1337 > 192.168.100.7.48931:
Flags [R.], seq 0, ack 363343083, win 0, length 0
--
http://www.myspace.com/soundtrack0220
--
Ubuntu 12.04, iptables 1.4.12
192.168.100.7(A主機,複製封包)
192.168.100.7(B主機,接收複製後的封包)
測試指令:
-t mangle -A PREROUTING -p tcp --dport 1337 -j TEE --gateway 192.168.100.8
主要是想要利用iptable去實作Port Mirror的功能,
拜過Google後,先找到Netfilter的Patch-o-Matic要去實作,
但後來研究了老半天實在覺得非常麻煩而且也久未更新,
因此放棄了該條路走其他方法,
眼殘的我在原本Netfilter的網頁下發現替代方案是xtables-addons,
馬上裝起來試用看看,但是好像沒有任何用處,
(最後發現原本的系統上就有libxt_TEE.so的模組可以用),
我開始測試封包(wireshark,tcpdump)是否有被複製一份到目的主機,
原來有被複製過去!!!
但是我現在卻不知道應該怎樣處理這個封包才能正常運作...
試想過後,發現問題應該是這樣,不知道是否正確?
還請高手幫忙解惑阿....感謝阿!
P.S
目前簡單使用nc -l 0.0.0.0 1337的方式打開一個1337 port,
並使用telnet 192.168.100.7 1337去作連接測試
1.複製過後的封包,並未正常被轉換成B主機的IP(192.168.100.8),所以封包無法被利用?
=>目前使用DNAT方式將destination轉成B主機IP並觀察log,
確定封包有正常接收,但是Output的時候,封包卻莫名地消失了,
尚在追查問題中...
相關指令:
-t nat -A PREROUTING -p tcp --dport 1337 -d 192.168.100.7 -j LOG
-t nat -A PREROUTING -p tcp --dport 1337 -d 192.168.100.7 -j DNAT --to-destination 192.168.100.8
-t nat -A POSTROUTING -o eth1 -j LOG
-t filter -A INPUT -p tcp --dport 1337 -j LOG
-t filter -A OUTPUT -p tcp --sport 1337 -j LOG
Log:
IN=eth1 OUT= MAC=08:00:27:e5:16:4f:08:00:27:25:8b:a9:08:00 SRC=192.168.100.7 DST=192.168.100.7 LEN=60 TOS=0x10 PREC=0x00 TTL=63 ID=57096 DF PROTO=TCP SPT=49067 DPT=1337 WINDOW=32792 RES=0x00 SYN URGP=0
IN=eth1 OUT= MAC=08:00:27:e5:16:4f:08:00:27:25:8b:a9:08:00 SRC=192.168.100.7 DST=192.168.100.8 LEN=60 TOS=0x10 PREC=0x00 TTL=63 ID=57096 DF PROTO=TCP SPT=49067 DPT=1337 WINDOW=32792 RES=0x00 SYN URGP=0
IN= OUT=eth1 SRC=192.168.100.8 DST=192.168.100.7 LEN=40 TOS=0x10 PREC=0x00 TTL=64 ID=0 DF PROTO=TCP SPT=1337 DPT=49067 WINDOW=0 RES=0x00 ACK RST URGP=0
2.請問使用Port Mirror時候,接收複製封包的主機(B主機)應該要正常去解析封包並回傳嗎?
(主要是想用Port Mirror去做一些線上壓力測試等)
下面是利用tcpdump在B主機擷取到的資訊,
10:21:59.736024
IP 192.168.100.7.48931 > 192.168.100.7.1337:
Flags [S], seq 363343082, win 32792,
options [mss 16396,sackOK,TS val 736800 ecr 0,nop,wscale 5], length 0
10:21:59.736067
IP 192.168.100.7.1337 > 192.168.100.7.48931:
Flags [R.], seq 0, ack 363343083, win 0, length 0
--
http://www.myspace.com/soundtrack0220
--
Tags:
Linux
All Comments
Related Posts
(Fedora)改鍵盤配置?
By Vanessa
at 2013-03-28T22:28
at 2013-03-28T22:28
iptables DNAT 無法正常使用
By Jessica
at 2013-03-28T18:00
at 2013-03-28T18:00
ubuntu 12.04的screen上bbs
By Jacob
at 2013-03-28T17:05
at 2013-03-28T17:05
Scientific Linux 5.6 網路無法設定
By Lucy
at 2013-03-27T17:30
at 2013-03-27T17:30
在LINUX底下,有類似Autohotkey的軟體嗎?
By Frederica
at 2013-03-27T02:02
at 2013-03-27T02:02