[問題] netfilter修改ip address的問題

看板LinuxDev作者 (2orx)時間14年前 (2011/08/24 23:06), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串1/1
大家好, 我目前在作一個netfilter kernel module, 安裝此module的主機可以把特定 protocol封包的ip位置改變而轉發該封包到別的host,我的問題如下: 1. 經過測試, 我發現如果在PRE_ROUTING的時機點作hook, 可以修改dst ip address, 封包將隨我修改的dst ip address轉送到擁有該ip address的host, 但如果我也 同時修改src ip address, 封包似乎就無法轉發出去?? 2. 為了解決問題一, 我掛載2個netfilter hook, 一個掛在PRE_ROUTING負責修改 dst ip address, 一個掛在FORWARD負責修改src ip address, 這樣的機制在 2台ubuntu上(kernel分別是2.6.24和2.6.35)都可順利轉發封包; 但如果跑在 centOS5上(kernel為2.6.18), 安裝kernel module的主機就會開始"亂轉送"(冏) 明明我把dst ip address從A修改成B, 主機轉送的封包在wireshark看來 dst ip address卻是C, 唉呦真是氣死我.... 請問各位前輩有什麼經驗指教嗎? 小弟kernel還不熟, 問題粗淺請多包涵 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.96.101.33

09/02 00:39, , 1F
why don't you use DNAT/SNAT target?
09/02 00:39, 1F
文章代碼(AID): #1ELHDuSU (LinuxDev)
文章代碼(AID): #1ELHDuSU (LinuxDev)