會員 ![]() | 【求助】iptables 二問 我想用 linux 取代公司那台 ip 分享器(因要做頻寬管制及對外連線的效能監控,預算一直下不來),那台 ip 分享器的功能裡有二項一直搞不定,想請大家幫個忙: 一、依機器的 MAC 位址,控制能否上網 $BLK_MAC="00-00-00-00-00-00" iptables -t nat -A PREROUTING -m mac --mac-source $BLK_MAC -j DROP 以上經實驗後確實可做到,我的問題是我想把 MAC 位址放到檔案中,然後在 SCRIPT 執行時會去讀檔案內容(簡 化程式碼和管理),阻止不該上網的人,但翻過一些介紹 SCRIPT 的文章,似乎沒提到 SCRIPT 去讀檔案內容的 事(還是有更簡單的方法?) 二、指定某一個 PORT 的服務(如 80 給 192.168.0.1 的 IIS 負責)由特定的機器提供服務 忘了說明,我是固接的線路 internet->ip share->web server iptables -A PREROUTING -t nat -p tcp --dport 80 -j DNAT --to 192.168.0.1:80 這是參考小州兄的文章做出來的,但是一直無法成功 不知道我的理解有沒有錯,我如果打 http://linux/ 在經過 iptables 轉換之後,是不是會秀出在 192.168.0.1 的 web server 的網頁? 一直找不到解決的方法,如果有人能提供的話,我會十分感激!! |
回覆 |
會員 ![]() | 第二個試試看 iptables -A POSTROUTING -t nat -p tcp -d (Server_ip) --dprot 80 -j DNAT --to 192.168.0.1:80 看看 |
回覆 |
會員 ![]() | 第一題解答,將拒絕連線的 mac address 存成 mac.list ,並依下列儲存,內容如 == mac.list == 11-22-33-44-55-66 22-33-44-55-66-77 33-44-55-66-77-88 ps.若不想使用 mac 限制,更名 mac.list 即可 主要執行檔如下: [php] INET_IFACE="$EXTIF" LAN_IFACE="$INIF" MASQ_LAN="$INNET" MAC_DENY_FILE="/mypath/mac.list" if [ -f $MAC_DENY_FILE ] ; then MAC_DENY=`cat $MAC_DENY_FILE | paste -d' ' -s ` for address in ${MAC_DENY} ; do /sbin/iptables -t nat -A PREROUTING -m mac --mac-source ${address} - j DROP echo "${address} ![]() done fi [/php] |
回覆 |
會員 ![]() | 引用:
想不到 script 還可以這樣用 真是太感謝你了 | |
回覆 |
|
![]() | ||||
主題 | 主題作者 | 討論版 | 回覆 | 最後發表 |
【求助】iptables 下 msn 連線拒絕 | lych | -- FreeBSD & Linux 討 論 版 | 0 | 2003-06-30 11:49 PM |
【求助】iptables 出現Invalid argument | scb | -- FreeBSD & Linux 討 論 版 | 0 | 2003-06-09 07:37 PM |
Exchange Server 5.5!!!二問 | jeff1012 | -- 網 路 技 術 版 | 0 | 2002-03-18 10:32 AM |
XML | RSS 2.0 | RSS |
本論壇所有文章僅代表留言者個人意見,並不代表本站之立場,討論區以「即時留言」方式運作,故無法完全監察所有即時留言,若您發現文章可能有異議,請 email :[email protected] 處理。