開源,幾乎代表了無所不能的意思,最近又因為它玩Hi了。。。
因業務發展,需要臨時接入300MB的專線和千兆路由器,而公司現有的路由器卻是百兆的,出於成本考慮,只能不想更換新的路由器,在網上查了一下可以做Linux路由器,因為是臨時的,所以動手做吧。。。
安裝系統這事就略過了,直接進入路由器相關配置部分:
一、選擇機器
要求不高,雙網卡即可,其它根據實際需求配置。
二、網卡設置
編輯文件:/etc/network/interfaces
iface lo inet loopback
# IP只是舉例而已,非真實IP
auto eth0
iface eth0 inet static
address 100.100.100.100
gateway 100.100.100.101
netmask 255.255.255.250
auto eth1
iface eth1 inet static
address 10.1.1.1
network 10.1.1.0
broadcast 10.1.1.255
gateway 10.1.1.1
netmask 255.255.255.0
dns-nameservers 10.1.1.1
設置好后保存,重啟網卡服務:
# 或者
sudo service networking restart
修改dns,編輯/etc/resolvconf/resolv.conf.d/base和/etc/resolvconf/resolv.conf.d/original
nameserver 114.114. 114.114
設置完成重啟resolvconf服務
sudo /etc/init.d/resolvconf restart
可以通過查看/etc/resolv.conf是否修改成功,如內容如下則成功:
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 10.1. 1.1
nameserver 8.8. 8.8
nameserver 114.114. 114.114
三、設置路由
查看當前路由:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 100.100.100.101 0.0. 0.0 UG 0 0 0 eth0
10.1. 1.0 * 255.255. 255.0 U 0 0 0 eth1
$ route del default dev eth1
$ route add default gw 100.100.100.101 dev eth0
$ route add -net 100.100.100.100 netmask 255.255.255.250 dev eth0
$ route add -net 10.1.1.0 netmask 255.255.255.0 dev eth1
四、設置IP包轉發
$ sudo vi /etc/sysctl.conf
取消 # net.ipv4.ip_forward = 1 的注釋,保存退出
$ sudo iptables -F
$ sudo iptables -P INPUT ACCEPT
$ sudo iptables -P FORWARD ACCEPT
$ sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
至此,Linux路由的基本功能設置完成,其它更多設置可以參考如下文章: