透明的閘道器:在Linux上執行IPchains(轉)
透明的閘道器:在Linux上執行IPchains(轉)[@more@] 一、前言
在很多大學和科研機構裡,合法的ip和埠並不多,因此很多部門都是採用代理伺服器上網,用微軟的Proxy Server固然方便,不過效率低,效能不好,而且最主要的是費用太貴。因此採用廉價的Linux伺服器做代理上網就成了一個很好的解決方法。經過幾天的除錯,筆者用Linux做透明閘道器伺服器,讓宿舍的其他機器都可以透過一臺Linux機器共享一個埠上網。感覺非常好。實現的方法是設定IP偽裝。
二、背景
機器 0:
OS:Redhat 6.0, 成功安裝了雙網路卡
eth0: 192.168.2.61,連線到了校園網上
eth0's NetMask: 255.255.254.0
eth1: 192.168.11.1,連線到宿舍區域網上
eth1's NetMask 255.255.255.0
其中,宿舍區域網的IP是自定義的,為非法地址。
機器 1:
OS:Win9x
IP:192.168.11.2
GateWay:192.168.11.1 /*機器0的eth1*/
NetMak: 255.255.255.0
DNS :202.116.64.3 /*校園網的名字伺服器*/
三、目的
使機器1能夠透過機器0上到校園網,就好像機器1直接連到校園網上一樣, 故此把機器0叫做透明閘道器。
四、原理
由於只有機器0的IP為合法地址,機器1想要上到校園網,就要把 機器1傳送的資料包經過機器0偽裝後再轉發出去。期間,機器0把 機器1的IP資料包中的本地地址抽取出來並儲存,且用機器0的本 地地址代替後轉發出去返回的資料包經過機器0恢復後再轉發給機器1。
五、步驟
1、保證機器0能夠出校園網,並且能夠Ping到機器1,機器1也能夠Ping到機器0。至於這如何設定不再此次的討論範圍之內。
2、在機器0上開啟xwindows,執行:netcfg 選擇routing,允許(使能)Network Packet Forwarding(IPV4)。在機器0上建立一個檔案:rules chmod +x rules使rules變為可執行檔案。
=(echo 1 > /proc/sys/net/ipv4/ip_forward)
3、建立一個rules檔案,具體路徑可以放到如/sbin中。 編輯這個檔案,填寫以下內容:
#在預設狀況下拒絕所有 ip 轉發。.0
/sbin/ipchains -P forward DENY
#允許宿舍網透過機器0使用ip轉發,至於ipchains參見man ipchains 或者ipchains how to(參考我們站點上的構建基於ipchains的Linux防火牆)
/sbin/ipchains -A forward -j ACCEPT -i eth1 -s 192.168.0.0/24
/sbin/ipchains -A forward -j MASQ -i eth0 -s 192.168.0.0/24
#增加你需要的偽裝模組。
/sbin/modprobe ip_masq_ftp
/sbin/modprobe ip_masq_quake
/sbin/modprobe ip_masq_irc
/sbin/modprobe ip_masq_user
/sbin/modprobe ip_masq_raudio
4、執行/sbin/rules即可。
若把執行rules這個命令加到/etc/rc.d/rc.local中,那麼ipchains就可以啟動時自動執行。 本方法對於撥號上網同樣適用。
六:簡單的方法:
其實用LINUX做閘道器(只做為可以帶動整個局域上INTERNET的閘道器)很簡單,只要先連通(或拔號)上INTERNET,然後執行如下兩條命令, (當然要以root的身份):
命令1:
# echo 1 > /proc/sys/net/ipv4/ip_forward
說明:允許Network Packet Forwarding(IPV4)
命令2:
# /sbin/ipchains -A forward -j MASQ -S xxx.xxx.xxx.xxx/32 說明:xxx.xxx.xxx.xxx為區域網內部某臺機器的IP地址,此命令的意思是允許把xxx.xxx.xxx.xxx機器的IP包請求進行偽裝
執行完這兩條命令就可以了...............
然後在windows的客戶機上在TCP/IP屬性裡把閘道器設為這臺LINUX的IP就可以了~
不過這樣是不是有安全問題呢?
在很多大學和科研機構裡,合法的ip和埠並不多,因此很多部門都是採用代理伺服器上網,用微軟的Proxy Server固然方便,不過效率低,效能不好,而且最主要的是費用太貴。因此採用廉價的Linux伺服器做代理上網就成了一個很好的解決方法。經過幾天的除錯,筆者用Linux做透明閘道器伺服器,讓宿舍的其他機器都可以透過一臺Linux機器共享一個埠上網。感覺非常好。實現的方法是設定IP偽裝。
二、背景
機器 0:
OS:Redhat 6.0, 成功安裝了雙網路卡
eth0: 192.168.2.61,連線到了校園網上
eth0's NetMask: 255.255.254.0
eth1: 192.168.11.1,連線到宿舍區域網上
eth1's NetMask 255.255.255.0
其中,宿舍區域網的IP是自定義的,為非法地址。
機器 1:
OS:Win9x
IP:192.168.11.2
GateWay:192.168.11.1 /*機器0的eth1*/
NetMak: 255.255.255.0
DNS :202.116.64.3 /*校園網的名字伺服器*/
三、目的
使機器1能夠透過機器0上到校園網,就好像機器1直接連到校園網上一樣, 故此把機器0叫做透明閘道器。
四、原理
由於只有機器0的IP為合法地址,機器1想要上到校園網,就要把 機器1傳送的資料包經過機器0偽裝後再轉發出去。期間,機器0把 機器1的IP資料包中的本地地址抽取出來並儲存,且用機器0的本 地地址代替後轉發出去返回的資料包經過機器0恢復後再轉發給機器1。
五、步驟
1、保證機器0能夠出校園網,並且能夠Ping到機器1,機器1也能夠Ping到機器0。至於這如何設定不再此次的討論範圍之內。
2、在機器0上開啟xwindows,執行:netcfg 選擇routing,允許(使能)Network Packet Forwarding(IPV4)。在機器0上建立一個檔案:rules chmod +x rules使rules變為可執行檔案。
=(echo 1 > /proc/sys/net/ipv4/ip_forward)
3、建立一個rules檔案,具體路徑可以放到如/sbin中。 編輯這個檔案,填寫以下內容:
#在預設狀況下拒絕所有 ip 轉發。.0
/sbin/ipchains -P forward DENY
#允許宿舍網透過機器0使用ip轉發,至於ipchains參見man ipchains 或者ipchains how to(參考我們站點上的構建基於ipchains的Linux防火牆)
/sbin/ipchains -A forward -j ACCEPT -i eth1 -s 192.168.0.0/24
/sbin/ipchains -A forward -j MASQ -i eth0 -s 192.168.0.0/24
#增加你需要的偽裝模組。
/sbin/modprobe ip_masq_ftp
/sbin/modprobe ip_masq_quake
/sbin/modprobe ip_masq_irc
/sbin/modprobe ip_masq_user
/sbin/modprobe ip_masq_raudio
4、執行/sbin/rules即可。
若把執行rules這個命令加到/etc/rc.d/rc.local中,那麼ipchains就可以啟動時自動執行。 本方法對於撥號上網同樣適用。
六:簡單的方法:
其實用LINUX做閘道器(只做為可以帶動整個局域上INTERNET的閘道器)很簡單,只要先連通(或拔號)上INTERNET,然後執行如下兩條命令, (當然要以root的身份):
命令1:
# echo 1 > /proc/sys/net/ipv4/ip_forward
說明:允許Network Packet Forwarding(IPV4)
命令2:
# /sbin/ipchains -A forward -j MASQ -S xxx.xxx.xxx.xxx/32 說明:xxx.xxx.xxx.xxx為區域網內部某臺機器的IP地址,此命令的意思是允許把xxx.xxx.xxx.xxx機器的IP包請求進行偽裝
執行完這兩條命令就可以了...............
然後在windows的客戶機上在TCP/IP屬性裡把閘道器設為這臺LINUX的IP就可以了~
不過這樣是不是有安全問題呢?
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617731/viewspace-952471/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ORACLE透明閘道器的配置Oracle
- ORACLE9i 的透明閘道器的配置 (轉)Oracle
- transparent gateway 透明閘道器配置Gateway
- 安全閘道器 透明加解密解密
- ADSL+RH8.0透明閘道器指南(轉)
- Oracle 透明閘道器連線MySQLOracleMySql
- ORACLE 透明閘道器訪問 MYSQL 表OracleMySql
- Oracle透明閘道器訪問Mysql—luckyfriendsOracleMySql
- Linux下的閘道器設定(轉)Linux
- GNU/Linux和FreeBSD上的NAT閘道器安裝(轉)Linux
- 轉:在Linux上執行WinFormLinuxORM
- 10g透明閘道器訪問sqlserverSQLServer
- Oracle 通過透明閘道器訪問mysqlOracleMySql
- Oracle 透過透明閘道器 訪問 mysqlOracleMySql
- Oracle Gateways透明閘道器訪問SQL ServerOracleGatewaySQLServer
- oracle連線teradata透明閘道器配置Oracle
- 用LINUX做在一張軟盤上的撥號閘道器 (轉)Linux
- 透明閘道器一些特殊場景的配置
- oracle通過透明閘道器連線mysql的配置OracleMySql
- oracle9i透明閘道器到sqlserver的配置OracleSQLServer
- 在Linux機器上安裝執行Oracle(三)(轉)LinuxOracle
- 在Linux機器上安裝執行Oracle(二)(轉)LinuxOracle
- Oracle透明閘道器訪問SQLServer資料庫OracleSQLServer資料庫
- Oracle透明閘道器訪問MySQL資料庫OracleMySql資料庫
- oracle透過透明閘道器訪問sql serverOracleSQLServer
- 透明閘道器 oracle 10g for sqlserver 和sybase的配置Oracle 10gSQLServer
- 透明閘道器的安裝配置及一般使用
- 在Centos7伺服器上搭建閘道器服務CentOS伺服器
- ORACLE通過透明閘道器連線DB2OracleDB2
- sql server透明閘道器dblink在alert裡報recover登入失敗SQLServer
- oracle透明閘道器之異構資料庫的訪問Oracle資料庫
- 並行閘道器 Parallel Gateway並行ParallelGateway
- 什麼是閘道器?閘道器的作用是什麼,閘道器的作用詳解
- 工業閘道器在物聯網雲平臺上的作用
- Modbus轉Ethernet IP閘道器模組與匯川PLC通訊在閘道器配置軟體中的配置
- Oracle配置透明閘道器訪問sql2000OracleSQL
- Oracle 通過透明閘道器訪問mysql配置步驟OracleMySql
- 新手Linux作業系統的閘道器設定(轉)Linux作業系統