更改linux下的网卡物理地址

有些地方是把网络地址和网卡物理地址绑定的,当换了网卡或其它电脑时可能会上不了网,下面介绍更改物理地址(MAC Address)的方法。分为临时更改和长期更改两种情况,两种方法均不实际改变网卡的真实属性。

临时更改
所谓临时更改,是指在重新启动系统后就失效的短期更改方法,较简单。

Linux网卡的物理地址设置是在网络设置时进行的。
首先确定你在使用root用户。假设对eth0进行设置。
先网卡“关闭”
# ifconfig eth0 down
更换物理地址,把粗体部分更换为你要换的MAC地址:
# ifconfig eth0 hw ether AA:BB:CC:DD:EE:FF
启用eth0。
# ifconfig eth0 up
如果需要,请自行添加加入路由的命令。
注意:
如果还要设置IP等其它信息,一定要把hw ether 物理地址紧跟在设备名(如eth0)后面。
长期更改
这里指重启后仍能保留更改。需要文本编辑器配置文件。

Debian(Ubuntu很可能也在此列)
编辑/etc/network/interfaces,找到与eth0有关的地方,修改到形如:
allow-hotplug eth0
iface eth0 inet dhcp
#iface eth0 inet static
# address 1.1.1.6
# netmask 255.255.255.0
# gateway 1.1.1.1
hwaddress ether 00:AA:BB:CC:DD:EE

注释的部分是静态IP的写法,当前的未注释的是动态IP的写法。详细信息请参见Debian网络设置

Archlinux或Gentoo
编辑/etc/rc.conf(Archlinux)或/etc/conf.d/net(Gentoo),在eth0配置的字符串中,在IP地址的前面加入 hw ether 00:AA:BB:CC:DD:EE。 Gentoo和Archlinux的网络设置,请参阅发行版的相关文档。

Fedora或Redhat
编辑/etc/sysconfig/network-scripts/ifcfg-eth0(如需要请修改eth0到你的网卡编号),加入或修改
HWADDR=AA:BB:CC:DD:EE:FF
即可。

Linux单网卡架设VPN并NAT共享上网

服务器使用shorewall作为防火墙,实际上shorewall只是作为iptables的一个配置程序而已,实际上防火墙还是iptables;
首先是建立VPN,使用软件包PPTPD,这样做的好处是方便认证,也支持windows,安全性不如openvpn,但是简单实用;

服务器环境:
OS:ubuntu server 8.10
firewall: shorewall
IP:192.168.2.100
安装:

sudo apt-get install pptpd

修改配置文件:/etc/pptpd.conf

修改localip remoteip

localip 192.168.250.1
remoteip 192.168.250.234-238,192.168.250.245

这里随便找了个IP段localip相当于拨号后的服务器地址,可以写成本机IP,或者和remoteip的IP段相同的一个IP地址

remoteip是客户机分配的IP段,这里分配了12个IP地址,也就只允许12个机器同时通过VPN连接,再增加就不能分配到IP地址了

修改配置文件:/etc/ppp/chap-secrets

这个文件里面设置登陆用的账号密码等信息

设置格式是:

# client server secret IP addresses

abc * 123456

第一个是用户名 然后是服务器地址 然后是登陆所用的密码 最后是为客户拨号后分配的IP地址,不指定的话就是系统自动分配

以上过程之后,咱的PPTPD就配置好了哈

由于服务器采用了shorewall防火墙,需要开放端口1723,47和gre协议

编辑/etc/shorewall/rules

增加:

ACCEPT net $FW gre
ACCEPT net $FW tcp 1723
ACCEPT net $FW tcp 47

然后重启下shorewall:

sudo shorewall restart

开始测试在windows上VPN拨号吧

windows下VPN连接建立方法就不多说了哈

OK,测试VPN可以拨通了,但是还不能通过服务器的网络连接互联网,可能你会发现,除了访问服务器,其他你什么都干不了

下面来做NAT,不过这个地方我也没做得很好,还有点缺陷,希望以后能解决这个问题

拨通VPN后,在服务器上使用ifconfig可以看到多了一个PPP*的网络连接,例如我这里是ppp0

做NAT我也使用shorewall来做

修改/etc/shorewall/interface

增加:

ppp0 ipv4

修改/etc/shorewall/zones

增加:

ppp ppp0

修改/etc/shorewall/masq

增加:

eth0 ppp0

OK,然后重启shorewall

sudo shorewall restart

NAT配置好了

这里要注意的是ppp0一定要存在,否则shorewall要报错,这个就是shorewall不足的地方了,不够灵活。

如果你不用shorewall 防火墙,直接使用iptables指令进行dnat操作,就不会因为没有ppp0连接而报错了。

中科大的centos源恢复

昨天把centos升了下级。cn99的源失效后,很难找到速度能与之相比的源就一直没更新,突然发现中科大的源又恢复了,就换了源升了下级,电信访问速度还是很快的!

安装后请按照以下步骤修改CenOS-Base.repo,以后就可以方便的用yum安装软件了.
cd /etc/yum.repos.d
mv CentOS-Base.repo  CentOS-Base.repo.save
wget http://centos.ustc.edu.cn/CentOS-Base.repo.5
mv CentOS-Base.repo.5 CentOS-Base.repo

顺便再记录几个centos的源:
上海交通大学:http://ftp.sjtu.edu.cn/centos/
清华大学:http://mirror.lib.tsinghua.edu.cn/centos/
山东电信:http://mirrors.ta139.com/centos/

修复因重装windows而损坏的grub

修复因重装windows而损坏的grub
最进重新安装了一次windows,造成mbr被覆盖,原来的grub引导失效,只能进windows系统,而不能进安装在第二硬盘上的centos。

解决方法有两种:

一、用wingrub替代centos的grub引导,需要知道原来的menu,而且要求fat32分区,我现在的分区都是NTFS的了,所以就没用。

二、修复原来的grub引导。方法很简单,

1、用centos的安装盘启动计算机,输入linux rescue进入修复模式。

2、在控制台下修复grub

#grub
>root (hd1,0)
>setup (hd0)
>quit
#reboot

(hd1,0)为centos安装位置
(hd0)为引导记录安装位置