資源:
PC A: Ubuntu 12.04 LTS,兩塊網(wǎng)卡,分別為eth0和eth1,使用eth0連接
PC B: Windows 7, 一塊網(wǎng)卡,為eth0
目標(biāo):
使得B通過A連接互聯(lián)網(wǎng)(IPv4),即實(shí)現(xiàn)A為路由器的功能
步驟:
PC A:
(0)假設(shè)eth0已經(jīng)配置好,PC可以通過eth0連接互聯(lián)網(wǎng)
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
當(dāng)然,我是刪除了network-manager,
你也可以通過network-manager來配置。DNS服務(wù)
nameserver 168.95.1.1 #這是我的DNS服務(wù)器,你可以配置成你可以訪問的,如8.8.
重啟你的網(wǎng)絡(luò)服務(wù)或者重啟PC A,以上設(shè)置就可以生效。
(1)Linux系統(tǒng)自身就有IPv4包轉(zhuǎn)發(fā)的功能,在/
打開IPv4轉(zhuǎn)發(fā)功能:
net.ipv4.ip_forward=1
輸入以下命令使得上面的設(shè)置生效(或者重啟電腦):
sudo sysctl -p
(2)通過iptable實(shí)現(xiàn)IPv4包轉(zhuǎn)發(fā)
sudo iptables -t nat -A POSTROUTING -s 192.168.6.0/24 -o eth0 -j MASQUERADE
可以通過iptables-save將iptables rule都保存到文件中,在通過iptables-
可以自己寫一個腳本來實(shí)現(xiàn)iptables自動的載入rule,
PC B
(0)將PC B的eth0與PC A的eth1用網(wǎng)線直接連接,配置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連接互聯(lián)網(wǎng)了
增強(qiáng)配置:
路由器都可以自動給PC分配IP,而不需要手動配置IP,
就需要在PC A上搭建一個DHCP服務(wù)器。
(0)安裝DHCP服務(wù)器
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