Ubuntu
充當兩個介面路由器的 Ubuntu 伺服器
我正在嘗試使用 Ubuntu 伺服器 12.04 設置 squid 代理伺服器
我對 Ubuntu 很陌生,但我已經設法完成了一些簡單的事情。
我買了第二個 PCI 介面並設法將它安裝在伺服器上。
我的目標是將所有數據包從一個介面(或子網)轉發到另一個。我認為這是配置 squid 本身之前的第一步。
從我的 Ubuntu 伺服器上,我可以 ping 兩個子網中的設備。但是從位於子網 192.168.0.0 /24 中的筆記型電腦上,我無法 ping 通位於另一個子網 192.168.1.0/24 中的路由器。
從我的 Ubuntu 伺服器發送時,路由器和筆記型電腦都會響應 ICMP 請求。
我還在 sysctl.conf 中啟動了 net.ipv4.ip_forward=1
sudo ip route 的輸出:
default via 192.168.1.254 dev eth1 metric 100 192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.200 192.168.1.0/24 dev eth1 proto kernel scope link src 192.168.1.200
sudo iptables -nvL 的輸出:
Chain INPUT (policy ACCEPT 339 packets, 55782 bytes) Chain FORWARD (policy ACCEPT 185 packets, 12382 bytes) Chain OUTPUT (policy ACCEPT 276 packets, 25481 bytes)
您知道為什麼此設置不起作用嗎?我確定我錯過了一些東西。
問題是您嘗試聯繫的路由器不知道如何將數據包路由回筆記型電腦,因為它不知道 192.168.0.0/24 子網。來自筆記型電腦的數據包到達路由器,但響應數據包要麼被發送到錯誤的地方(網際網路),要麼根本不發送。
您需要通過 192.168.0.200 為路由器配置 192.168.0.0/24 的靜態路由。這樣做取決於您擁有的特定路由器,但請通過 Web 界面查看有關路由的部分。