資源:
PC A: Ubuntu 12.04 LTS,兩塊網卡,分別為eth0和eth1,使用eth0連接
PC B: Windows 7, 一塊網卡,為eth0
目標:
使得B通過A連接互聯網(IPv4),即實現A為路由器的功能
步驟:
PC A:
(0)假設eth0已經配置好,PC可以通過eth0連接互聯網
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 172.16.10.65
gateway 172.16.10.254
netmask 255.255.0.0
auto eth1
iface eth1 inet static
address 192.168.6.1
netmask 255.255.255.0
network 192.168.6.0
broadcast 192.168.6.255
當然,我是刪除了network-manager,
你也可以通過network-manager來配置。DNS服務
nameserver 168.95.1.1 #這是我的DNS服務器,你可以配置成你可以訪問的,如8.8.
重啟你的網絡服務或者重啟PC A,以上設置就可以生效。
(1)Linux系統自身就有IPv4包轉發的功能,在/
打開IPv4轉發功能:
net.ipv4.ip_forward=1
輸入以下命令使得上面的設置生效(或者重啟電腦):
sudo sysctl -p
(2)通過iptable實現IPv4包轉發
sudo iptables -t nat -A POSTROUTING -s 192.168.6.0/24 -o eth0 -j MASQUERADE
可以通過iptables-save將iptables rule都保存到文件中,在通過iptables-
可以自己寫一個腳本來實現iptables自動的載入rule,
PC B
(0)將PC B的eth0與PC A的eth1用網線直接連接,配置PC B的eth0為:
IP ADDRESS : 192.168.6.101
SUBNET MASK: 255.255.255.0
GATE WAY : 192.168.1.1i
DNS Server : 168.95.1.1
這樣PC B就可以通過PC A連接互聯網了
增強配置:
路由器都可以自動給PC分配IP,而不需要手動配置IP,
就需要在PC A上搭建一個DHCP服務器。
(0)安裝DHCP服務器
sudo apt-get install isc-dhcp-common isc-dhcp-server
(1)配置DHCP
(i)修改/etc/default/isc-dhcp-
INTERFACES="eth1"
(ii)修改/etc/dhcp/dhcpd.conf
subnet 192.168.6.0 netmask 255.255.255.0 {
range 192.168.6.100 192.168.6.200;
option routers 192.168.6.1;
option broadcast-address 192.168.6.255;
option domain-name-servers 168.95.1.1;
default-lease-time 600;
max-lease-time 7200;
}
(2)PC B可以自動獲取IP了,如果在PC A的eth1上接一個switch,接在switch上所有的P