主題: [求助]關於用Linux架設Router之問題一問。 [打印本頁]
發表人:
eddiehan 時間: 2007-7-9 05:00 AM 主題: [求助]關於用Linux架設Router之問題一問。
我打算使用Linux架一台防火牆兼路由器
而這台主機有三張網卡
分別接了59.124.44.140的ADSL
192.168.x.y的VPN<此為對內部各營業點線路在此我設為192.168.10.254>
(192.168.10.y的用意是北部營業點高雄192.168.7.y這樣設定的)
10.23.x.y<此為對內部總公司線路,在此我假設為10.23.20.254>
(10.23.x.y的用意是北中南各營業點分別為北部10.23.20.y高雄10.23.70.y這樣設定的)
至於為什麼有了192.168.x.y還要去申請10.23 的原因是192.168.x.y是我們自已公司全省營業點的vpn線路
而10.23.x.y則是我們上面集團的國營業點線路。
59.124.44.140<此為對internet線路>
我現在的問題就是
我們公司的所有電腦192.168.10.x都要以此 254Router&Iptables主機連外上網跟直接連接各營業點。
但現在只能利用iptables-t nat的方式讓大家都可以經由59.124.44.140上網。
我的路由表寫法如下:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
59.124.44.140 0.0.0.0 255.255.255.240 U 0 0 0 eth1
192.168.7.0 192.168.10.16 255.255.255.0 UG 0 0 0 eth0
192.168.6.0 192.168.10.16 255.255.255.0 UG 0 0 0 eth0
192.168.4.0 192.168.10.16 255.255.255.0 UG 0 0 0 eth0
192.168.15.0 192.168.10.16 255.255.255.0 UG 0 0 0 eth0
10.23.20.0 10.23.20.254 255.255.255.0 UG 0 0 0 eth2
192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.9.0 192.168.10.16 255.255.255.0 UG 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 59.124.44.140 0.0.0.0 UG 0 0 0 eth1
我的這台主機可以直接ping其他所有有設route後的電腦
例如ping 192.168.7.10<這是7下面的一台伺服器>是可以通的。
但是我其他電此防火牆為gateway的pc就沒辦法ping了。
可以上網!<研判是iptables生效了>
但就是連不到其他網段的電腦。
一直想不通那裡不對…有沒有人可以指點一下解決的方案>"<
感謝不盡。
覺得資料提供的實在不齊…
我再補充一下
對Internet有二條線59.124.44.x及59.124.22.x
對Intranet有二條線
1. 192.168.x.y/24(這是子公司的並且是由一台SeedNET提供的CISCO_192.168.10.16來進行路由全省,
也就是說我如果要由192.168.10.254連192.168.17.10的話必經192.168.10.16這台CISCOgateway)
2. 10.23.x.x/16(這是對總公司的)
公司原架構是用abocom mh550 的硬體路由器來路由全省192.168.x.y的Intranet及Internet
現在是打算用Linux伺服器來取代這台mh550來路由全省。
[原架構]
192.168.10.x ---- MH550 ---- CISCO VPN Router ---- 192.168.x.x
|-- 59.124.44.140(WAN1)
|-- 59.124.22.140(WAN2)
[現預期架構]
192.168.10.x ---- Linux ---- CISCO VPN Router ---- 192.168.x.x
|-- 10.23.x.x
|-- 59.124.44.140(WAN1)
|-- 59.124.22.140(WAN2)
問題:目前在Linux上設好了路由表後(前述)可以由Linux本身Ping四個網段都可以通。
但是在Linux背後的192.168.10.x的電腦都只會走我用
Iptables -A -t nat -s 192.168.10.0/24 -o eth1 -j MASQUERADE
所設的上網。而不會去走其他路線。
我總覺得問題點在Iptables上
又找不到問題的解決方向。
希望這樣的補充可以加速各位大大了解我的問題>\\\<
[eddiehan 在 2007-7-10 09:21 PM 作了最後編輯]
發表人:
innova 時間: 2007-7-9 03:18 PM
您上面的 route table 是 該部(NAT+Firewall) 上的嗎?
(假設是好了, 因為 還有設定到59.124.44.x 外部 IP位置, 內部PC應該不需要設定這東西)
這樣的 route table 應該不會過吧?
引用:
Destination Gateway Genmask Flags Metric Ref Use Iface
59.124.44.999 0.0.0.0 255.255.255.240 U 0 0 0 eth1
192.168.7.0 192.168.10.16 255.255.255.0 UG 0 0 0 eth0
192.168.6.0 192.168.10.16 255.255.255.0 UG 0 0 0 eth0
192.168.4.0 192.168.10.16 255.255.255.0 UG 0 0 0 eth0
192.168.15.0 192.168.10.16 255.255.255.0 UG 0 0 0 eth0
10.23.20.0 10.23.20.254 255.255.255.0 UG 0 0 0 eth2
192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.9.0 192.168.10.16 255.255.255.0 UG 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 59.124.44.140 0.0.0.0 UG 0 0 0 eth1
1.
引用:
59.124.44.999 <-- IP 沒有在 大於255 的!
所以 應該是:
59.124.44.<該機器對外GateWay/ADSL位址> 0.0.0.0 255.255.255.240 eth1
*** 不是自己的 實體IP位址 喔!! ***
2.
引用:
192.168.7.0 192.168.10.16 255.255.255.0 UG 0 0 0 eth0
192.168.6.0 192.168.10.16 255.255.255.0 UG 0 0 0 eth0
192.168.4.0 192.168.10.16 255.255.255.0 UG 0 0 0 eth0
192.168.15.0 192.168.10.16 255.255.255.0 UG 0 0 0 eth0
192.168.9.0 192.168.10.16 255.255.255.0 UG 0 0 0 eth0
如果 貴公司 有 192.168.0~15.x 共 16個子網路
建議 把 eth0 切成數個子IP
eth0 = 192.168.10.254
eth0:0 = 192.168.0.254
eth0:1 = 192.168.1.254
eth0:2 = 192.168.2.254
.....
eth0:15 = 192.168.15.254
每個子公司的對外 Gateway 則固定為 192.168.x.254
上述 table 則改為:
192.168.7.0 192.168.7.254 255.255.255.0 UG 0 0 0 eth0
192.168.6.0 192.168.6.254 255.255.255.0 UG 0 0 0 eth0
192.168.4.0 192.168.4.254 255.255.255.0 UG 0 0 0 eth0
192.168.15.0 192.168.15.254 255.255.255.0 UG 0 0 0 eth0
192.168.9.0 192.168.9.254 255.255.255.0 UG 0 0 0 eth0
或是... 乾脆 直接把 192.168.0.0/255.255.240.0 當成一整個 subnet
不過 得先考慮到 是否有使用 網路芳鄰, 免得 子公司 收到其他子公司 網路芳鄰 封包 造成網速急降
如果網路芳鄰 沒人在用, 可以停掉, 這是最簡單的辦法!!
3.
您的 iptables 是不是 有擋掉 192.168.xx 子網域 的 ICMP封包?
所以 別人ping這一台 才會失敗!! (不是沒收到ping訊號, 是...被防火牆擋掉了!?)
如果 貴公司(含子公司) 都沒有 電腦怪才 存在,
您可以 試著 把對內的 eth0,eth2 的防火牆功能 關掉, 只擋對外的
4.
這台 Linux 上面 該不會還有另外一台 IP分享器? Router?
如果
引用:
59.124.44.XXX 0.0.0.0 255.255.255.240 U 0 0 0 eth1
0.0.0.0 59.124.44.140 0.0.0.0 UG 0 0 0 eth1
XXX 的範圍 應該是 129~142
Hinet 喜歡把該 Subnet 的第一個 IP 訂走 當GW用,(或是最後一個)
所以 您對外的 GW 應該是 59.124.44.129 才對? (或是142)
?????
所以 得先問您 59.124.44.140 這台是什麼碗膏? (該不會是這台Linux自己的IP吧??)
除了 ssh, 該機器有開啟 3389 port (Microsoft Terminal Service)
看起來 很像是 M$-Windows機器??? 或是 將該port 轉向內部某機器去了?
5.
如果 全部 總/分公司 上 Internet 都要經過這台機器
您要不要將 Proxy(squid) 打開?
(要求/規定)大家都經由 proxy 上網, 這對您的 Internet 流量 應該會有些許幫助?
日後要檢查網路上的奇怪封包/封鎖(惡意/色情/聊天)網站等 也較為方便
6.
既然已經提供了這麼多服務? 該機器是否有 eMail Services?
別忘了開啟 Mail 的 ClamAV 防毒功能
另外 有空可以研究一下 防垃圾信(spam) 功能
--
估計 網路狀況應為:
eth0: 192.168.0~15.254 =>對子公司LAN, 當 GW用
eth1: 59.124.44.128~144 => 連 Internet (固定IP?) , 對外GW=59.124.44.140(??)
eth2: 10.23.20.254 => 對總公司LAN, 當 GW用
ps: 我在外面 ping 的到 貴公司 59.124.44.129/130/131/133/140/141,
不知該Linux機器 確實IP, 不確定能否ping的到!
發表人:
eddiehan 時間: 2007-7-10 12:04 AM
噗…
回大大…
我真的太小家子氣了= =
忘了即使我把最後一位用999代替了還是可以用ping的找出有什麼在使用的XD
我改一下原文!
感謝不盡。
發表人:
innova 時間: 2007-7-10 01:21 AM
您是說 高雄的192.168.7.10 可以連 Internet,
但是 想要連到 台南的192.168.6.10 卻連不上?
# iptables -L -n
# iptables -L -n -t nat
分別是什麼??
列出來看看
這樣 應該是 iptables 沒設定好?
所以他不幫你把封包轉出去給別的子網域
也許 您可以參考小弟前面所述 第2點:
『 乾脆 直接把 192.168.0.0/255.255.240.0 當成一整個 subnet 』
這樣 就不需要透過 Gateway 做轉送動作!
您的 Gateway 機器 load 應該會輕一點...
重點是..... 可以不用慢慢 try iptables rules..... -_-"
發表人:
eddiehan 時間: 2007-7-10 09:34 PM
目前的情況是Linux(防火牆+Router)本機已經可以通全省了!
應該是Route表裡的生效之故!,因此這台Linux可以在我要ping192.168.x.x的其他網段主機時,
都可以很順利的去走192.168.10.16(CISCO VPN Router)這條路線。
192.168.7.0 192.168.10.16 255.255.255.0 UG 0 0 0 eth0
192.168.6.0 192.168.10.16 255.255.255.0 UG 0 0 0 eth0
192.168.4.0 192.168.10.16 255.255.255.0 UG 0 0 0 eth0
192.168.9.0 192.168.10.16 255.255.255.0 UG 0 0 0 eth0
192.168.15.0 192.168.10.16 255.255.255.0 UG 0 0 0 eth0
但是!!
Linux下所連接的其他電腦(192.168.10.1~253都無法經由它走往192.168.10.16而通往這些網段
我的就實在想不透了…
發表人:
innova 時間: 2007-7-11 01:32 PM
您的 Linux eth0 是 192.168.10.254
上面還有一台 VPN專用的Cisco Router =>192.168.10.16??
192.168.10.x 還有其他 PC??
您不是說 eth2 對應的 10.23.x.x 才是總公司內部的 IP?
你的意思是說 你的 Linux 上面 還有一台 VPN專用的Cisco Router (192.168.10.16) 是嗎?
如果是這樣 你其他的 PC 就不需要透過你的 Linux 再轉出去啦?
因為 她們是在同一個 192.168.10.x/24 的 subnet
所以 你應該是要在其他 192.168.10.x的PC上 設定 route table:
192.168.7.0 192.168.10.16 255.255.255.0
192.168.6.0 192.168.10.16 255.255.255.0
192.168.4.0 192.168.10.16 255.255.255.0
192.168.9.0 192.168.10.16 255.255.255.0
192.168.15.0 192.168.10.16 255.255.255.0
而不是在你的 Linux 上設定!!
所以 你總公司的 LAN(192.168.10.x) 要連到分公司 (192.168.4.x)
她們是直接經由 192.168.10.16 連出去!
這樣 你的 Linux 負擔會比較輕,
除了控管問題之外, 也沒什麼必要需要透過你的 Linux 再繞一次路...
如果真的必須要透過這部Linux出去 可以參考:
http://linux.vbird.org/linux_server/0230router.php#route_dynamic
貴公司網路架構 怎 感覺 頂亂的?
┌──192.168.10.x
┌─(eth0:192.168.10.254)─Hub──CISCO─ 192.168.[4679|15].x
│
Linux ┼─(eth1:59.124.44.128~144)- ADSL(WAN1:59.124.44.140)
│
└─(eth2:10.23.20.254)─Hub─10.23.x.x
現在看起來 架構像是這個樣子?
另外, 要這台 Linux 能同時支援 兩個實體 IP,
最好再加一張網卡 專門接 WAN2:59.124.22.140
Ref:
http://www.study-area.org/tips/multipath.htm
歡迎光臨 TWed2k (http://twed2k.org/) |
Powered by Discuz! 4.1.0 |