Ubuntu系统怎样将您的Linux服务器变成一个简单的路由器

由路由器/防火墙设备为一个小型办公室或家庭网络提供基本的互联网连接正日益变得可以承受。但是当预算紧张时,你可能会认真地考虑修改现有的Linux服务器来做完成这项任务。

配置IP转发

要想要你的Linux服务器成为路由器,你必须启用包转发(packet forwarding)。简单说包转发就是让数据包通过Linux机器从一个网络传输到另一个网络。找到文件/etc/sysctl.conf中的Linux内核参数net.">ipv4.ip_forward,通过删除关于包转发相关行前的"#"来激活它。

Before:# Disables packet forwardingnet.ipv4.ip_forward=0After:# Enables packet forwardingnet.ipv4.ip_forward=1

只有你重新启动的时候包转发才会启用,那时Linux将在特殊的基于RAM内存的/proc文件系统的子目录中创建一个文件。如果要立即激活这个功能,你必须通过sysctl命令加上-p参数来强迫Linux读取code>/etc/sysctl.conf</code>文件。下面是如何操作的:

[root@bigboy tmp] sysctl -psysctl -pnet.ipv4.ip_forward = 1net.ipv4.conf.default.rp_filter = 1kernel.sysrq = 0kernel.core_uses_pid = 1[root@bigboy tmp]#

详情请参阅附录I以获得更多调整内核参数的信息,就调整内核参数。

配置ARP代理

如果服务器需要在同一个网络里把一个包传送到另一个设备上,它会在网络上发一个ARP(Address Resolution Protocol)请求来询问目的设备的MAC地址。

如果同一服务器需要把一个包传送到远程网络的另一个设备上,过程就不一样了。服务器首先查看路由表来寻找网络上的最佳路由器的IP地址,由它把包传送的目的地。服务器随后发送一个ARP请求来询问匹配路由器IP地址的MAC地址。然后通过路由器的MAC地址把包和远程服务器的IP地址发送给路由器。

如果在网络上没有合适的路由器,服务器会发送一个ARP请求来询问远程服务器的MAC地址。一些配置过的路由器可以回答这些关于远程网络的ARP请求,这个功能就叫做ARP代理。这种做法有一些缺点。其中一个最普遍的问题是在网络上的两个路由器都配置了ARP代理。在这种情况下,它们都可能会回答本地服务器关于远程网络MAC地址的ARP请求。如果其中一个路由器有远程服务器的不正确路由表记录,那么到远程服务器的传输就有偶尔丢失的风险。换句话说你失去了对路由的控制。

注意: 因为这个和其他一些原因,一般在路由器上配置ARP代理不是一个好的选择。比较好的做法是始终在服务器上配置一个缺省网关,而对缺省网关可能不知道的网络则使用通过其他路由器的单独路由记录。

有些类型的桥接模式防火墙,必须要ARP代理来正常运作。这些设备一般作为串行链的一部分,把一个局域网上的多个网络交换机连接在一起,用来保护局域网上的某一部分不受其他部分的流量的影响。这种防火墙一般不配置局域网中的IP地址,看起来就像一段智能的电缆在有选择的屏蔽数据包。

如果你需要启动Linux服务器上的ARP代理,/proc文件系统就再次发挥作用了。ARP代理是由/proc/sys/net/ipv4/conf/目录下的文件控制的。这个目录下有服务器中每块运转网卡的对应子目录。每个子目录下都有个proxy_arp文件。如各这个文件中的值是0,那么这个接口上的ARP代理就是被禁用的;如果这个值是1,那么就是启用的。

你可以使用附录II提到的/etc/sysctl.conf文件来激活或禁用ARP代理。下面是激活ARP代理的例子,首先是对所有接口的,其次是对eth0和wlan0接口的。

## File: /etc/sysctl.conf# # Enables Proxy ARP on all interfacesnet/ipv4/conf/all/proxy_arp = 1# Enables Proxy ARP on interfaces eth1 and wlan0net/ipv4/conf/eth1/proxy_arp = 1net/ipv4/conf/wlan0/proxy_arp = 1

你可以使用sysctl命令激活这些设置。

[root@bigboy tmp] sysctl -p

时间: 2024-09-29 18:51:56

Ubuntu系统怎样将您的Linux服务器变成一个简单的路由器的相关文章

系统之锹sysdig:Linux服务器监控和排障利器

系统之锹sysdig:Linux服务器监控和排障利器 当你需要追踪某个进程产生和接收的系统调用时,首先浮现在你脑海中的是什么?你可能会想到strace,那么你是对的.你会使用什么样的命令行工具来监控原始网络通信呢?如果你想到了tcpdump,你又作出了一个极佳的选择.而如果你碰到必须追踪打开的文件(在Unix意义上:一切皆文件)的需求,可能你会使用lsof. strace.tcpdump以及lsof,确实是些伟大的工具,它们应该成为每个系统管理员工具集之中的一部分,而这也正是你为什么应该爱上sy

使您的linux服务器成为一个FTP服务器

文件传输协议(FTP)是互联网上服务器之间最常用的一种文件拷贝方式.大多数基于下载的web站点都利用浏览器的内置FTP组件,因此大多数的服务器操作系统都将FTP服务应用程序作为它的软件套件.Linux也不例外. 本文将向您展示如何利用Fedora中默认的 非常安全FTP守护进程(VSFTPD)软件包 使您的linux服务器成为一个FTP服务器. FTP是依靠一对TCP端口来完成工作的.它是按我下面解释的2条连接通道来操作的: FTP控制通道,TCP 21 端口:所有您发出和FTP服务器的响应命令

在Ubuntu系统中安装和配置PostgreSQL服务器

PostgreSQL是一个强大的关系型数据库管理系统,它按照BSD许可[1]发行.PostgreSQL包含很多高级的特性,拥有良好的性能和很好的适用性.PostgreSQL绑定了很多种编程语言,例如 C++, C++, Python, Java, PHP, http://www.aliyun.com/zixun/aggregation/13430.html">Ruby等 ,它可以操作很多东西,从简单的Web应用程序到拥有数百万条记录的庞大数据库. 安装 你可以使用命令行安装PostgreS

Linux中实现一个简单的进度条【转】

转自:http://blog.csdn.net/yuehailin/article/details/53999288 说起进度条,其实大家常常见到,比如说你在下载视频或文件的时候,提示你当前下载进度的就是我们今天要说的进度条,进度条的模拟实现是挺简单的,但是要做的比较实用还是需要注意很多地方的,下来我就一步步的深入分析一下进度条得实现. 1.起初写下了这样的代码,解释以下几点:     1>首先我们需要将[ ]固定在左右两边,中间预留下空间,然后用"="进行填充.这里printf

十大最流行的Linux服务器

  随着Linux不断发展,Linux所支持的文件系统类型也在迅速扩充.很多的数据中心服务器上都运行着Linux,可以节省大量的许可证费用及维护费用.但伴随着Linux新版本的发行,其中每一个不同版本的Linux所支持的文件系统类型都有所不同. 那么,对于这种情况来说,Linux系统家族中也划分着针对不同的用户群,比如Ubuntu被认为Linux新用户最容易操作的平台,而Slackware Linux是需要经过有着一定应用基础的用户,CentOS是一个企业级的发行版,特别适合对稳定性,可靠性和功

介绍25个Linux 服务器安全小技巧

大家都认为Linux 默认是安全的,我大体是认可的(这是个有争议的话题).Linux默认确实有内置的安全模型.你需要打开它并且对其进行定制,这样才能得到更安全的系统.Linux更难管理,不过相应也更灵活,有更多的配置选项. 对于系统管理员而言,让产品的系统更安全,免于骇客和黑客的攻击,一直是一项挑战.本文将介绍25个有用的技巧和窍门 ,帮助你让Linux系统更加安全.希望下面的这些技巧和窍门可以帮助你加强你的系统的安全. 1. 物理系统的安全性 配置BIOS,禁用从CD/DVD.外部设备.软驱启

25个Linux服务器安全小技巧

  大家都认为Linux 默认是安全的,我大体是认可的(这是个有争议的话题).Linux默认确实有内置的安全模型.你需要打开它并且对其进行定制,这样才能得到更安全的系统.Linux更难管理,不过相应也更灵活,有更多的配置选项. 对于系统管理员而言,让产品的系统更安全,免于骇客和黑客的攻击,一直是一项挑战.本文将介绍25个有用的技巧和窍门 ,帮助你让Linux系统更加安全.希望下面的这些技巧和窍门可以帮助你加强你的系统的安全. 1. 物理系统的安全性 配置BIOS,禁用从CD/DVD.外部设备.软

Ubuntu系统如何添加用户

超级用户被命名为 root,在 Linux 中超级用户可以不受任何限制地访问所有的系统资源和文件.超级用户有一个用户 ID,为 0,所有 Linux 应用软件都会将它视为具有最高权限的用户.你需要以 root 用户登录来为你的 Linux 服务器添加一个新的用户. 注意:当你安装 http://www.aliyun.com/zixun/aggregation/13835.html">Ubuntu Linux 系统的时候,系统提示你创建的用户并不是 root 用户.root 会自动建立但是没

25 个方法让您的 Linux 服务器安全如铁桶

1. 物理系统的安全性 配置BIOS,禁用从CD/DVD.外部设备.软驱启动.下一步,启用BIOS密码,同时启用GRUB的密码保护,这样可以限制对系统的物理访问. 2. 磁盘分区 使用不同的分区很重要,对于可能得灾难,这可以保证更高的数据安全性.通过划分不同的分区,数据可以进行分组并隔离开来.当意外发生时,只有出问题的分区的数据才会被破坏,其他分区的数据可以保留下来.你最好有以下的分区,并且第三方程序最好安装在单独的文件系统/opt下. / /boot /usr /var /home /tmp