在这里我想如何设置它:ISP line – > Linux路由器 – > Linksys路由器 – >兰.
Linux路由器有eth0和eth1
我如何设置这个以及我在哪里放置外部IP?
非常感谢,
解决方法
你的linux路由器将有两个物理接口.我将其称为eth0(连接到您的内部网络和静态IP地址)和eth1(连接到您的ISP,并且可能是通过DHCP提供的地址).
打开数据包转发
在文件/etc/sysctl.conf中,可能有两行匹配以下内容:
# Controls IP packet forwarding net.ipv4.ip_forward = 0
如果没有,您将需要至少添加最后一行.这是一个重要的部分:将0更改为1.如果linux路由器上的路由表告诉它下一步,那就告诉内核深入,将数据包从一个接口发送到另一个接口.然后,您需要重新启动,或运行以下命令:echo 1>的/ proc / SYS /网/的IPv4 / IP_FORWARD.
设置NAT
现在,无论是eth0还是eth1,所有出现的内容都与它所带来的IP地址相同.所以谷歌将从192.168.1.x(或任何你的IP方案)获得ping.麻烦的是,这些IP地址无法通过公共互联网路由.因此,您必须告诉Linux路由器修改传出的数据包,以便将它们路由回给您.我已经按照以下规则这样做了:
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
这告诉系统,在完成所有路由之后(因为它在POSTROUTING iptables链中),如果传出接口是eth1(“ – o eth1”),则应用目标MASQUERADE.这意味着“将源IP地址更改为接口的IP地址.
设置DHCP
此时,您的系统正在进行基础测试.但是,您必须将每个连接的系统设置为具有静态IP&指向外部DNS服务器.这可以使用名为dhcp的包进行更改.安装它,并将其设置为在启动时启动.在我的基于Red Hat的系统上,可以使用两个命令完成:yum install dhcp和chkconfig dhcpd on.但是,它不会做任何事情,因为你没有配置DHCP你的IP方案是什么以及它应该监听什么接口.(虽然我可能是错的).以下是/etc/dhcpd.conf的外观:
# # DHCP Server Configuration file. # see /usr/share/doc/dhcp*/dhcpd.conf.sample # ddns-update-style interim; #include "/var/named/chroot/etc/rndc.key"; subnet 192.168.1.0 netmask 255.255.255.0 { authoritative; range 192.168.1.10 192.168.1.100; option routers 192.168.1.1; option domain-name-servers 192.168.1.1; } max-lease-time 14400; #4 hours default-lease-time 14400; #4 hours
这里有几个关键点:
>子网线:这必须是eth0的网络地址.网络掩码也必须匹配.
>范围行:您可以在此处设置内部网络的起始和结束地址.我强烈建议将其排除在linux路由器本身的地址之外.
>选项路由器行:这是告诉客户端其默认网关的位置.在您描述的情况下,这将是linux路由器eth0的IP地址.
>选项domain-name-servers line:这是告诉客户端DNS服务器的用途.如果要使用OpenDNS,可以选择域名服务器208.67.222.222 208.67.220.220,选项域名服务器8.8.8.8 8.8.4.4如果要使用Google公共DNS,或选项域名 – 服务器192.168.1.1如果要设置系统来处理它.
您现在可以通过执行(在基于Red Hat的系统上)启动它,以root身份启动服务dhcpd.如果您不使用Red Hat或deriitave,则需要为该系统运行启动脚本.
租约时间以秒为单位.至少根据我能够找到的文档,有时客户会要求特定的租约期限,在这种情况下,检查并调整max-lease-time和min-lease-time语句以适应这些边界.其他时候,客户端不会要求租约期限,在这种情况下使用默认租约时间.
这对于不使用内部网络DHCP服务ISP的其他客户端是安全的,因为如果DHCPD不知道它所带来的接口的IP方案,它将不会为地址提供服务.因此,如果dhcp请求进入eth1,其IP为123.45.67.89,则DHCP设置没有该IP的子网块.因此它不会发送该请求的任何DHCP优惠.但如果它出现在eth0上,其IP为192.168.1.1,它确实有一个匹配该地址的子网块,它确实提供了DHCP.
设置DNS
这个可能是最简单的.在我的RHEL 5.1系统上,它是安装,启动和指向客户端.开箱即用,它配置为指向根名称服务器,并在DNS启动时处于活动状态的任何接口上为客户端提供服务.
要安装,请记住它不是dnsd,它的名字.这不是命名的过去时态.相反,请将其读作“name-D”.
yum install named #installation service named start #start it for right now chkconfig named on #set it to start at system boot.