iptables防火牆基本設定 [論壇 - Ubuntu基本設定]
正在瀏覽:
2 名遊客
iptables防火牆基本設定 |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
版主
![]() ![]() 註冊日期:
2008/7/14 0:03 來自 螢幕的另一端
所屬群組:
網站管理員 已註冊使用者 討論區管理群 等級: 33
HP : 0 / 805
![]() |
在ubuntu 系統裡使用懶人包安裝的 Firestarter 防火牆並不好用
會造成你的區網和ADSL連線(pppoe)無法同時使用。 Firestarter 啟動後,不是區網不能用,就是ADSL連線不能用 想要把Firestarter關掉,重開機後,或撥號後它又會自動啟動 最後整個把Firestarter移掉後,網路才回復正常。 改去研究 iptables 的使用方式,才發現其實不難。 1。建立一檔案名為 iptables.sh,內容如下: #!/bin/bash #我的防火牆設定 iptables -P INPUT DROP iptables -A INPUT -i lo -j ACCEPT # 127.0.0.1 本地端回應全接受 iptables -A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT #針對 eth0 這張網卡,設定我主動發出去的回應都予放行 iptables -A INPUT -i ppp0 -m state --state RELATED,ESTABLISHED -j ACCEPT #針對 ppp0 (撥號連線)這張網卡,設定我主動發出去的回應都予放行 iptables -A INPUT -i eth0 -s 192.168.0.0/24 -j ACCEPT # 192.168.0.1~255 這個網段全放行 iptables -A INPUT -i ppp0 -p tcp --dport 4662 -j ACCEPT iptables -A INPUT -i ppp0 -p udp --dport 4672 -j ACCEPT #針對撥號連線 port 位 TCP 4662 & UDP 4672 (emule) 放行 iptables -A INPUT -i ppp0 -p tcp --dport 51413 -j ACCEPT #針對撥號連線 port 位 TCP 51413 (BT) 放行 #請將此檔放在你的家目錄內的backup (請建個backup 資料夾) 2.建立捷徑,請下指令 sudo ln -s /home/user/backup/iptables.sh /etc/init.d/iptables.sh 設定成可執行的權限 chmod 755 /home/user/backup/iptables.sh 註:/home/user 這個地方的"user"請更改成你的登入帳號名稱 3.加入啟動項目,請下指令 sudo update-rc.d -f iptables.sh defaults 4.重開機後,請用指令檢查 sudo iptables -L -n 若有出現如下字樣,表示你設定成功了 Chain INPUT (policy DROP) target prot opt source destination ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED ACCEPT all -- 192.168.0.0/24 0.0.0.0/0 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:4662 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:4672 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:51413 5.往後你若想要修改防火牆的設定時,只要去修改此檔即可 /home/user/backup/iptables.sh 修改完再重開機就行了。 ================================================ 6.安裝套件過程中若出現以下錯誤訊息 insserv: warning: script 'K01iptables.sh' missing LSB tags and overrides insserv: warning: script 'iptables.sh' missing LSB tags and overrides 解法: 在 /home/backup/iptables.sh 此檔的最前面加入底下內容即可 ### BEGIN INIT INFO # Provides: iptables.sh # Required-Start: $remote_fs $syslog # Required-Stop: # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start daemon at boot time # Description: 自製開機程式 ### END INIT INFO
2008/9/3 14:29
|
||||||||||
![]() |
回復: iptables防火牆基本設定 |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
版主
![]() ![]() 註冊日期:
2008/7/14 0:03 來自 螢幕的另一端
所屬群組:
網站管理員 已註冊使用者 討論區管理群 等級: 33
HP : 0 / 805
![]() |
iptables.sh 內容詳細說明
它的設定是針對你指定哪張網卡而生效的,請先用ifconfig 看你有幾張網卡 eth0 ->若你只有一張網卡,這是一定會有的 eth1 ->若你有第二張網卡,它才會出現 wlan0 ->若你有無線網卡,它才會出現 ppp0 ->這通常是ADSL撥號連線上網後所產生的網卡 ------------------- #!/bin/bash #我的防火牆設定 iptables -P INPUT DROP #↑這行是指把所有要連進來的連線,都預設為全擋掉,反正這行照做就是了 iptables -A INPUT -i lo -j ACCEPT # 127.0.0.1 本地端回應全接受,同樣的這行照做就是了。 iptables -A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT #針對 eth0 這張網卡,設定我主動發出去的回應都予放行,同樣的這行照做就是了。 iptables -A INPUT -i ppp0 -m state --state RELATED,ESTABLISHED -j ACCEPT #針對 ppp0 (撥號連線)這張網卡,設定我主動發出去的回應都予放行,同樣的這行照做就是了。 iptables -A INPUT -i eth0 -s 192.168.0.0/24 -j ACCEPT # 192.168.0.1~255 這個網段全放行,如果你有區網才需要加這行 #↓底下就是針對撥號連線在防火牆上打洞了 iptables -A INPUT -i ppp0 -p tcp --dport 4662 -j ACCEPT iptables -A INPUT -i ppp0 -p udp --dport 4672 -j ACCEPT #針對撥號連線 port 位 TCP 4662 & UDP 4672 (emule) 連進來的連線放行 iptables -A INPUT -i ppp0 -p tcp --dport 51413 -j ACCEPT #針對撥號連線 port 位 TCP 51413 (BT) 放行 ---------------------------- 所以防火牆打洞的格式如下: iptables -A INPUT -i "指定的網卡" -p "填tcp或udp" --dport "你指定的port位" -j ACCEPT
2008/9/3 14:29
|
||||||||||
![]() |
回復: iptables防火牆基本設定 |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
版主
![]() ![]() 註冊日期:
2006/12/24 16:54 所屬群組:
網站管理員 已註冊使用者 等級: 33
HP : 0 / 816
![]() |
我個人是都用shorewall做為前端去改iptables的設定
還不錯用 http://www.shorewall.net/ 設定好介面之後只要利用如 BitTorrent/ACCEPT 或是 FTP/ACCE\PT 等巨集即可 FTP還會自動處理port forwarding
2008/9/3 14:36
|
||||||||||
![]() |
回復: iptables防火牆基本設定 |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員三級
![]() ![]() 註冊日期:
2008/9/16 22:00 所屬群組:
已註冊使用者 等級: 15
HP : 0 / 351
![]() |
ls -s /home/user/backup/iptables.sh /etc/init.d/iptables.sh
後出現: ls: 無法存取/etc/init.d/iptables.sh: 沒有此一檔案或目錄 4 /home/user/backup/iptables.sh 要怎麼辦呢
2008/9/19 4:50
|
||||||||||
![]() |
回復: iptables防火牆基本設定 |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員五級
![]() ![]() 註冊日期:
2008/6/15 2:56 所屬群組:
已註冊使用者 等級: 38
HP : 0 / 945
![]() |
geidt iptables.sh 內容 sudo ln -s ~/iptables.sh /etc/init.d/iptables.sh sudo update-rc.d -f iptables.sh defaults 順便問一下我eth0要開6891-6900 port不知要如何設定?
2008/9/19 6:21
|
||||||||||
![]() |
回復: iptables防火牆基本設定 |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
版主
![]() ![]() 註冊日期:
2008/7/14 0:03 來自 螢幕的另一端
所屬群組:
網站管理員 已註冊使用者 討論區管理群 等級: 33
HP : 0 / 805
![]() |
hepha 寫到: 這樣設定↓ iptables -A INPUT -i eth0 -p tcp --dport 6891:6900 -j ACCEPT 太原路一號 寫到: 抱歉,我的原文打錯一個字,請更正如下 把 ls -s 改為 ln -s ln -s /home/user/backup/iptables.sh /etc/init.d/iptables.sh 補充一下,若設定好了之後防火牆還是不能啟動,請檢查 iptables.sh 這檔案的屬性是否有設定可執行,若無請下指令 chmod 755 /home/user/backup/iptables.sh
2008/9/19 14:13
|
||||||||||
![]() |
回復: iptables防火牆基本設定 |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員五級
![]() ![]() 註冊日期:
2007/12/27 22:11 來自 高雄市
所屬群組:
已註冊使用者 等級: 24
HP : 0 / 580
![]() |
2008/9/19 15:36
|
||||||||||
![]() ![]() ★ 凍仁推薦的 Ubuntu 及 Firefox 套件 ★ UbuTW@K.H. 高雄小聚 ★ 藍星侵略地圖 - 一起侵略藍星唄 :P My Computers,欲觀看請指向這裡。
# Notebook ## ThinkPad T410 作業系統:Debian 7 + Ubuntu 14.04 + Win7 ## BenQ Joybook S52 (已退役) 作業系統:Debian 6 + WinXP Home ## Lenovo IdeaPad S10-2 (已退役) 作業系統:Ubuntu 11.10 # Desktop (已退役) 作業系統:Ubuntu 11.10 硬碟:WD(500GB) 主機板:ASUS K8N2-1 光碟機:Pioneer DVD-RW DVR-111 CPU:AMD Athlon XP , 2066 MHz 2800+ 顯示卡:NVIDIA GeForce 7300 GT (256 MB) 記憶體:1GB *3 = 3GB |
|||||||||||
![]() |
回復: iptables防火牆基本設定 |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員五級
![]() ![]() 註冊日期:
2008/6/15 2:56 所屬群組:
已註冊使用者 等級: 38
HP : 0 / 945
![]() |
夢見草 寫到: 收到感謝:)
2008/9/20 3:33
|
||||||||||
![]() |
Virtual Box網路設定 |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
版主
![]() ![]() 註冊日期:
2008/7/14 0:03 來自 螢幕的另一端
所屬群組:
網站管理員 已註冊使用者 討論區管理群 等級: 33
HP : 0 / 805
![]() |
前言:
Virtual box 這程式安裝裝完後並不會像在XP上使用Vmware一樣自動幫你的網卡裝一個橋接器(連接虛擬電腦與實體電腦的網路),所以底下的設置即是要裝個橋接器, 讓你使用網路也能像Vmware那樣方便。即:你的虛擬電腦也能透過IP分享器取得IP,或是自己設pppoe撥號上網。 一、建立vbox.sh檔 請先下此指令安裝必要的工具 sudo apt-get install uml-utilities bridge-utils 注意:以下紅字部份的 username 請換成你的使用者名稱。 並請檢查你的家目錄有沒有backup此資料夾,一般是沒有,請自行新增一個資料夾名為backup。 建立vbox.sh檔,請下指令 sudo gedit /home/username/backup/vbox.sh 貼上以下內容 #====================vbox.sh的內容開始================= #!/bin/bash # ************************************************ # Create bridge environment # # 建立一個橋接的環境,用一個br0,橋接起eth0與一 # 個tap0。要還原設定時,用clean參數。 # Create by cafetw at 20070827 # E-mail:cafetw@gmail.com # if can't run the sh, try # sudo apt-get install uml-utilities bridge-utils # ************************************************ if [ "$1" == "" ]; then tunctl -t tap0 -u username #上面username請換成你的使用者名稱。 brctl addbr br0 ifconfig eth0 0.0.0.0 promisc brctl addif br0 eth0 dhclient br0 #如果沒有固定IP, 上面會讓br0用DHCP的方式取得IP # ifconfig br0 {固定IP} netmask {Netmask IP} #如果有固定IP的話,把上面的#拿掉,即可以用上面這行來設定br0的IP設定, #當然,記得把dhclient那行加上#。 brctl addif br0 tap0 ifconfig tap0 up chmod 666 /dev/net/tun #route del default #route add default gw #最後設定一下default 的 gateway IP。 fi if [ "$1" == "clean" ]; then brctl delif br0 eth0 brctl delif br0 tap0 ifconfig br0 down brctl delbr br0 ifconfig tap0 down ifconfig eth0 down ifconfig eth0 up dhclient eth0 #如果你的環境可以用DHCP,就把上面這行拿掉#,下面那行加上# # ifconfig eth0 {固定IP} netmask {Netmask IP} #要用固定IP的話,就加上設定。 #route add default gw #設定你的GateWay IP fi exit 0 #====================vbox.sh的內容開始================= 將此檔改成可執行權限 請下指令 chmod 755 /home/username/backup/vbox.sh 二、執行 vbox.sh 此檔 說明:vbox.sh的設定執行後,再重開機後這些設定就會消失,所以我們可以把它設成一開機就自動執行,若你不想它開機自動執行的話,也可以自己手動執 行它,請下指令 sudo ~/backup/vbox.sh 還原設定指令 sudo ~/backup/vbox.sh clean 或重開機,設定就消失了 若你有設防火牆的話,請先別急著執行此檔,因執行後,你可能會遇到一些小麻煩(網路不通),因為此檔幫你新增了一個網卡,名為 br0,取代你原本的eth0 上網,因此我們要在防火牆上做些設定。 編輯 iptables.sh ,請下指令 sudo gedit ~/backup/iptables.sh 註:以上這行指令乃根據我之前所寫的"iptables 防火牆基本設定"這篇文章所設定延伸過來的。 加入底下這幾行 #-------------------------------- iptables -A INPUT -i br0 -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A INPUT -i br0 -s 192.168.0.0/24 -j ACCEPT #針對 br0 這張網卡,放行 192.168.0.0 這網段全放行,若你的IP分享器發配的IP為 192.168.1.1 之類的,那麼請把以上數字改成 192.168.1.0/24 #/home/username/backup/vbox.sh #-------------------------------- 注意:紅字的username也請改一下你的名字 現在執行vbox.sh 請下指令 sudo ~/backup/vbox.sh 執行後,若沒問題,也能上網的話,那麼就請把 iptables.sh 檔內的 #/home/username/backup/vbox.sh 這一行最前面的那個#號拿掉,開機後,它就會自動執行了 三、Virtual Box部份的設定 打開 Virtual Box 設定-> 網路 ->配接卡 Attached to(附掛到) 選 主端介面 在主機介面設定值中的Interface Name(介面名稱)打入 tap0 然後按確定,把設定存下來。這樣就可以了。 參考文章: VirtualBox 1.4.0網路橋接方案
2008/10/31 11:11
|
||||||||||
![]() |
回復: iptables防火牆基本設定 |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
版主
![]() ![]() 註冊日期:
2008/7/14 0:03 來自 螢幕的另一端
所屬群組:
網站管理員 已註冊使用者 討論區管理群 等級: 33
HP : 0 / 805
![]() |
若要在 Virtual Box 內同時執行兩個以上的系統的話,可能就會發生tap0被佔用的情況而無法開啟第二個系統,此時的解決方法為
編輯 vbox.sh 將此檔內所有的 tap0 的字元全取代為 tap1 另存新檔為 vbox1.sh 執行 vbox1.sh Virtual Box部份的設定 打開 Virtual Box 設定-> 網路 ->配接卡 Attached to(附掛到) 選 主端介面 在主機介面設定值中的Interface Name(介面名稱)打入 tap1 這樣就可以同時開啟第二個系統了 PS:同樣的 tap1 在你系統重開機後會消失,除非你將其設定一開機就自動執行。
2008/10/31 18:33
|
||||||||||
![]() |
您可以查看帖子.
您不可發帖.
您不可回覆.
您不可編輯自己的帖子.
您不可刪除自己的帖子.
您不可發起投票調查.
您不可在投票調查中投票.
您不可上傳附件.
您不可不經審核直接發帖.