用Iptables+RedHatLinux9.0做ADSL路由器(轉)
用Iptables+RedHatLinux9.0做ADSL路由器(轉)[@more@] 說明和約定
#所有在"[ ]" 中的都是應該直接在命令列敲入的命令
1.前言
最近在幫一個朋友做他們公司的ADSL閘道器路由, 原來是用FreeBSD做的,現在給他重新用Red Hat Linux 做.
2.安裝準備和環境說明
1) Red Hat Linux 9.0 最小化安裝, 直接選擇安裝型別中的Custom,然後在包安裝時選擇最下面的選項 "最小化安裝", 此模式用於做路由閘道器已經完全足夠
3.軟體調整
1)rp-pppoe
直接執行它的配置命令即可:
[ adsl-start ]
Welcome to the Roaring Penguin ADSL client setup. First, I will run
some checks on your system to make sure the PPPoE client is installed
properly...
Looks good! Now, please enter some information:
USER NAME
>>> Enter your PPPoE user name : [enter ADSL-Login-UserName here]
INTERFACE
>>> Enter the Ethernet interface connected to the ADSL modem
For Solaris, this is likely to be something like /dev/hme0.
For Linux, it will be ethn, where n is a number.
(default eth1): [Enter your right interface here. normaly should be eth0 or eth1]
>>> Enter the demand value (default no): [預設值就可以了, 直接回車]
DNS
>>> Enter the DNS information here: [server] # server 表示DNS 由ISP 指定
PASSWORD
>>> Please enter your PPPoE password: [] # ADSL撥號的密碼
>>> Please re-enter your PPPoE password:
FIREWALLING
The firewall choices are:
0 - NONE: This script will not set any firewall rules. You are responsible
for ensuring the security of your machine. You are STRONGLY
recommended to use some kind of firewall rules.
1 - STANDALONE: Appropriate for a basic stand-alone web-surfing workstation
2 - MASQUERADE: Appropriate for a machine acting as an Internet gateway for a LAN
>>> Choose a type of firewall (0-2): [2] #還是要防火牆比較好
** Summary of what you entered **
Ethernet Interface: eth1
User name: ddtthz!Internet
Activate-on-demand: No
DNS: server
Firewalling: NONE
>>> Accept these settings and adjust configuration files (y/n)? [y] # 完成!
2) 網路環境描述
(1) /etc/sysctl.conf
net.ipv4.ip_forward = 1
(2) eth0 接ADSL 線, eth1 (192.168.1.4/24) 連線內部LAN(192.168.1.0/24)
3)iptables
對於熟悉Ipchains的管理員應該注意的事項:
iptables與ipchains的區別
·iptables的預設鏈的名稱從小寫換成大寫,並且意義不再相同:INPUT和OUTPUT分別放置對目的地址是本機以及本機發出的資料包的過慮規則。
·-i選項現在只代表輸入網路介面,輸入網路介面則使用-o選項。
·TCP和UDP埠現在需要用--source-port或--sport(或--destination-port/--dport)選項拼寫出來並且必須置於"-p tcp"或"-p udp"選項之後,因為它們分別是載入TCP和UDP擴充套件的。
·以前TCP的"-y"標誌現在改為"--syn",並且必須置於"-p tcp"之後。
·原來的DENY目標最後改為了DROP。
·可以在列表顯示單個鏈的同時將其清空。
·可以在清空內建鏈的同時將策略計數器清零。
·列表顯示鏈時可顯示計數器的當前瞬時值。
·REJECT和LOG現在變成了擴充套件目標,即意味著它們成為獨立的核心模組。
·鏈名可以長達31個字元。
·MASQ現在改為MASQUERADE,並且使用不同的語法。REDIRECT保留原名稱,但也改變了所使用的語法。
設計思路:
(1) 首先禁止轉發任何包,然後再一步步設定允許透過的包。
[ /sbin/iptables -P FORWARD DROP ]
(2) MASQUERADE the PPP link
[ /sbin/iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE ]
(3) 允許兩臺特定的機器可以訪問外部WWW,以MAC地址為依據
[/sbin/iptables -A FORWARD -m mac --mac-source 00-11-d4-f0-39-53 -p tcp --dport 80 -j ACCEPT
]
[/sbin/iptables -A FORWARD -m mac --mac-source 00-e1-4f-32-39-3f -p tcp --dport 80 -j ACCEPT]
[/sbin/iptables -A FORWARD -m mac --mac-source 00-11-d4-f0-39-53 -p tcp --dport 443 -j ACCEPT
]
[/sbin/iptables -A FORWARD -m mac --mac-source 00-e1-4f-32-39-3f -p tcp --dport 443 -j ACCEPT]
(4) 允許SMTP 和POP3 以及IMAP
[/sbin/iptables -A FORWARD -p tcp -s 192.168.1.0/24 --dport 25 -i eth1 -j ACCEPT]
[/sbin/iptables -A FORWARD -p tcp -s 192.168.1.0/24 --dport 110 -i eth1 -j ACCEPT]
[/sbin/iptables -A FORWARD -p tcp -s 192.168.1.0/24 --dport 143 -i eth1 -j ACCEPT]
(5)拒絕其它機器訪問internet www
[ /sbin/iptables -A FORWARD -s 192.168.1.0/24 -p tcp --dport 80 -j REJECT]
[/sbin/iptables -A FORWARD -s 192.168.1.0/24 -p tcp --dport 443 -j REJECT]
(6)禁止 MSN
[/sbin/iptables -A FORWARD -p TCP --dport 1863 -j REJECT ]
[/sbin/iptables -A FORWARD -d 64.4.13.0/24 -j REJECT]
(7)接收來自FTP的資料通道
[/sbin/iptables -A FORWARD -p tcp -s 0/0 --sport ftp-data -d 192.168.1.0/24 -i ppp0 -j ACCEPT]
(8)接收來自Internet 的UDP資料包
[/sbin/iptables -A FORWARD -p udp -d 192.168.1.0/24 -i ppp0 -j ACCEPT]
(9)接收來自Internet的非連線請求tcp包
[ /sbin/iptables -A FORWARD -p tcp -d 192.168.1.0/24 ! -syn -i ppp0 -j ACCEPT]
(10) 在前面限制的基礎上,接受來自整個Intranet的資料包過,定義如下規則:
[ /sbin/iptables -A FORWARD -s 192.168.1.0/24 -i eth1 -j ACCEPT ]
#所有在"[ ]" 中的都是應該直接在命令列敲入的命令
1.前言
最近在幫一個朋友做他們公司的ADSL閘道器路由, 原來是用FreeBSD做的,現在給他重新用Red Hat Linux 做.
2.安裝準備和環境說明
1) Red Hat Linux 9.0 最小化安裝, 直接選擇安裝型別中的Custom,然後在包安裝時選擇最下面的選項 "最小化安裝", 此模式用於做路由閘道器已經完全足夠
3.軟體調整
1)rp-pppoe
直接執行它的配置命令即可:
[ adsl-start ]
Welcome to the Roaring Penguin ADSL client setup. First, I will run
some checks on your system to make sure the PPPoE client is installed
properly...
Looks good! Now, please enter some information:
USER NAME
>>> Enter your PPPoE user name : [enter ADSL-Login-UserName here]
INTERFACE
>>> Enter the Ethernet interface connected to the ADSL modem
For Solaris, this is likely to be something like /dev/hme0.
For Linux, it will be ethn, where n is a number.
(default eth1): [Enter your right interface here. normaly should be eth0 or eth1]
>>> Enter the demand value (default no): [預設值就可以了, 直接回車]
DNS
>>> Enter the DNS information here: [server] # server 表示DNS 由ISP 指定
PASSWORD
>>> Please enter your PPPoE password: [] # ADSL撥號的密碼
>>> Please re-enter your PPPoE password:
FIREWALLING
The firewall choices are:
0 - NONE: This script will not set any firewall rules. You are responsible
for ensuring the security of your machine. You are STRONGLY
recommended to use some kind of firewall rules.
1 - STANDALONE: Appropriate for a basic stand-alone web-surfing workstation
2 - MASQUERADE: Appropriate for a machine acting as an Internet gateway for a LAN
>>> Choose a type of firewall (0-2): [2] #還是要防火牆比較好
** Summary of what you entered **
Ethernet Interface: eth1
User name: ddtthz!Internet
Activate-on-demand: No
DNS: server
Firewalling: NONE
>>> Accept these settings and adjust configuration files (y/n)? [y] # 完成!
2) 網路環境描述
(1) /etc/sysctl.conf
net.ipv4.ip_forward = 1
(2) eth0 接ADSL 線, eth1 (192.168.1.4/24) 連線內部LAN(192.168.1.0/24)
3)iptables
對於熟悉Ipchains的管理員應該注意的事項:
iptables與ipchains的區別
·iptables的預設鏈的名稱從小寫換成大寫,並且意義不再相同:INPUT和OUTPUT分別放置對目的地址是本機以及本機發出的資料包的過慮規則。
·-i選項現在只代表輸入網路介面,輸入網路介面則使用-o選項。
·TCP和UDP埠現在需要用--source-port或--sport(或--destination-port/--dport)選項拼寫出來並且必須置於"-p tcp"或"-p udp"選項之後,因為它們分別是載入TCP和UDP擴充套件的。
·以前TCP的"-y"標誌現在改為"--syn",並且必須置於"-p tcp"之後。
·原來的DENY目標最後改為了DROP。
·可以在列表顯示單個鏈的同時將其清空。
·可以在清空內建鏈的同時將策略計數器清零。
·列表顯示鏈時可顯示計數器的當前瞬時值。
·REJECT和LOG現在變成了擴充套件目標,即意味著它們成為獨立的核心模組。
·鏈名可以長達31個字元。
·MASQ現在改為MASQUERADE,並且使用不同的語法。REDIRECT保留原名稱,但也改變了所使用的語法。
設計思路:
(1) 首先禁止轉發任何包,然後再一步步設定允許透過的包。
[ /sbin/iptables -P FORWARD DROP ]
(2) MASQUERADE the PPP link
[ /sbin/iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE ]
(3) 允許兩臺特定的機器可以訪問外部WWW,以MAC地址為依據
[/sbin/iptables -A FORWARD -m mac --mac-source 00-11-d4-f0-39-53 -p tcp --dport 80 -j ACCEPT
]
[/sbin/iptables -A FORWARD -m mac --mac-source 00-e1-4f-32-39-3f -p tcp --dport 80 -j ACCEPT]
[/sbin/iptables -A FORWARD -m mac --mac-source 00-11-d4-f0-39-53 -p tcp --dport 443 -j ACCEPT
]
[/sbin/iptables -A FORWARD -m mac --mac-source 00-e1-4f-32-39-3f -p tcp --dport 443 -j ACCEPT]
(4) 允許SMTP 和POP3 以及IMAP
[/sbin/iptables -A FORWARD -p tcp -s 192.168.1.0/24 --dport 25 -i eth1 -j ACCEPT]
[/sbin/iptables -A FORWARD -p tcp -s 192.168.1.0/24 --dport 110 -i eth1 -j ACCEPT]
[/sbin/iptables -A FORWARD -p tcp -s 192.168.1.0/24 --dport 143 -i eth1 -j ACCEPT]
(5)拒絕其它機器訪問internet www
[ /sbin/iptables -A FORWARD -s 192.168.1.0/24 -p tcp --dport 80 -j REJECT]
[/sbin/iptables -A FORWARD -s 192.168.1.0/24 -p tcp --dport 443 -j REJECT]
(6)禁止 MSN
[/sbin/iptables -A FORWARD -p TCP --dport 1863 -j REJECT ]
[/sbin/iptables -A FORWARD -d 64.4.13.0/24 -j REJECT]
(7)接收來自FTP的資料通道
[/sbin/iptables -A FORWARD -p tcp -s 0/0 --sport ftp-data -d 192.168.1.0/24 -i ppp0 -j ACCEPT]
(8)接收來自Internet 的UDP資料包
[/sbin/iptables -A FORWARD -p udp -d 192.168.1.0/24 -i ppp0 -j ACCEPT]
(9)接收來自Internet的非連線請求tcp包
[ /sbin/iptables -A FORWARD -p tcp -d 192.168.1.0/24 ! -syn -i ppp0 -j ACCEPT]
(10) 在前面限制的基礎上,接受來自整個Intranet的資料包過,定義如下規則:
[ /sbin/iptables -A FORWARD -s 192.168.1.0/24 -i eth1 -j ACCEPT ]
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617542/viewspace-945865/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- adsl伺服器,批次管理adsl伺服器的方法伺服器
- adsl伺服器,連線adsl伺服器的操作步驟伺服器
- adsl伺服器,對於批次管理adsl伺服器的方法伺服器
- adsl伺服器,怎樣對adsl伺服器進行批次處理伺服器
- CentOS7 做 路由器 精簡方法CentOS路由器
- ADSL 撥號代理的搭建
- adsl伺服器,使用adsl伺服器的好處及其連線步驟伺服器
- adsl伺服器,adsl伺服器該怎樣進行群控處理?伺服器
- Pandas 基礎 (11) - 用 melt 做格式轉換
- 路由器轉發&實體地址解析路由器
- adsl伺服器租用,如何利用伺服器管理工具連線adsl伺服器伺服器
- 什麼是聚合路由器、聚合路由器有什麼用路由器
- adsl上網賬號及口令在哪裡看 adsl寬頻賬號密碼怎麼查詢密碼
- 什麼是adsl伺服器,如何連線?伺服器
- 如何連線adsl伺服器?有方法嗎?伺服器
- 轉行做前端難嗎?前端
- 做市轉讓,引入了中間做市商
- adsl動態撥號伺服器是什麼伺服器
- 4g路由器解決方案無線CPE串列埠轉WiFi模組的功能與應用路由器串列埠WiFi
- excel列轉行怎麼做 excel如何轉置行列Excel
- 家用路由器哪個牌子好?2018年家用路由器推薦排名前十名路由器
- 什麼是5G聚合路由器?QYT-X1s聚合路由器有什麼用?路由器
- 用 CSS 做畫素畫CSS
- Python:用pyinstrument做效能分析Python
- 上手做一個華為鴻蒙手錶應用 3 - 兩頁面互相跳轉鴻蒙
- RIP路由器路由器
- 小米路由器路由器
- 家用路由器哪款好?2018年家用路由器測評報告,誰才是真正的“穿牆王”路由器
- 動態adsl伺服器有什麼好的連線方法嗎?伺服器
- 設計師用Sketch做設計稿時是用1倍圖還是用2倍圖做
- Java 正確的做字串編碼轉換Java字串編碼
- 工程師如何從技術轉型做管理?工程師
- js做資料的轉義字元替換JS字元
- [轉載]淺談Netgear路由器資訊洩露挖掘[內含0day]路由器
- 敏涵控股集團|用心做企業 用愛做慈善
- 用ps做毛玻璃穿透效果穿透
- 5.2.2 用TextCNN做文字分類CNN文字分類
- 教你用Xd做網頁網頁
- 用highcharts做資料統計