用CentOS做路由器轉發(如何設置路由器變為轉發器)
在本文中,我們將學習通過使用 NAT 技術將安裝有 RHEL/CentOS 6 & 7 的機器轉變成路由器來用。 我們都知道,路由器是一個工作在第三層的網絡設備,用于將兩個或多個網絡連接在一起,即,將局域網連接上廣域網上或者局域網直接互聯。 路由器非常昂貴,尤其對于小型組織來說更是如此,這可能是我們關注路由器的一個原因。 與其使用專用硬件,不如讓我們用 Linux 機器轉換成路由器來用。
RHEL/CentOS 6 和 7 上的操作過程我們都會講。但在開始之前, 讓我們先看看需要準備那些東西。
前期條件
1、 一臺裝有 RHEL/CentOS 6 或 7 的機器
2、兩塊分別配有本地 IP 和外網 IP 的網卡
我們需要為兩個網卡都分配 IP 地址,一個本地網絡的 IP(由我們的網絡管理員提供),另一個是互聯網 IP(由 ISP 提供)。 像這樣:
Ifcfg-en0s3 192.168.1.1 (LAN IP address) Ifcfg-en0s5 10.1.1.1 (WAN IP address)
注意 不同 Linux 發行版的網卡名是不一樣的。
現在準備工作完成了,可以進行配置了。
步驟 1 啟用 IP 轉發
第一步,我們啟用 IP 轉發。 這一步在 RHEL/CentOS 6 和 7 上是相同的。 運行
$ sysctl -w net.ipv4.ip_forward=1
但是這樣會在系統重啟后恢復。要讓重啟后依然生效需要打開
$ vi /etc/sysctl.conf
然后輸入下面內容,
net.ipv4.ip_forward = 1
保存并退出。現在系統就啟用 IP 轉發了。
步驟 2 配置 IPtables/Firewalld 的規則
下一步我們需要啟動 IPtables/firewalld 服務并配置 NAT 規則,
$ systemctl start firewalld (For Centos/RHEL 7) $ service iptables start (For Centos/RHEL 6)
然后運行下面命令來配置防火墻的 NAT 規則:
CentOS/RHEL 6 $ iptables -t nat -A POSTROUTING -o XXXX -j MASQUERADE $ service iptables restart CentOS/RHEL 7 $ firewall-cmd -permanent -direct -passthrough ipv4 -t nat -I POSTROUTING -o XXXX -j MASQUERADE -s 192.168.1.0/24 $ systemctl restart firewalld
這里,XXXX是配置有外網 IP 的那個網卡名稱。 這就將 Linux 機器配置成了路由器了, 下面我們就可以配置客戶端然后測試路由器了。
步驟 3 配置客戶端
要測試路由器,我們需要在客戶端的網關設置成內網 IP, 本例中就是 192.168.1.1。 因此不管客戶機是 Windows 還是 Linux, 請先確保網關是 192.168.1.1。 完成后, 打開終端或命令行并 ping一個網站來測試客戶端是否能訪問互聯網了:
$ ping baidu.com
我們也可以通過網絡瀏覽器訪問網站的方式來檢查。