设置:我有一个Linux(Gentoo,如果这有所作为)框,作为整个公寓的门户。 这个盒子用iptables和dhcpd做NAT-magic。
问题:我有一台特定的计算机,我想要一个端口转发(对于山洪,如果再次,有一个区别)。
我刚刚有足够的Linuxpipe理技能来阅读howtos并最终configuration正确的东西,但是我发现我的案例的howtos太不清楚,似乎是不必要的复杂。
对于我所收集到的,我的问题是双重的:让dhcpd可靠地为我想要的计算机分配一定的静态IP,然后为端口转发configurationiptables。
有人能给我一个明确的,一步一步的指导如何做到这一点? 我相信我不是唯一想要这样做的人
编辑:我的版本的软件是:
#iptables --version iptables v1.4.0 #dhcpd --version ISC-的dhcpd-V3.1.1-的Gentoo
为了使dhcp可靠地分配一个特定的静态IP给你想要的计算机,通常要做的是查看如何告诉你的dhcp服务器(无论你正在运行哪个服务器),把一个mac地址静态映射到一个IP地址。 这将使它总是把相同的IP(你指定的)分发给那个mac地址。
ISC dhcp需要一个configuration节
host mycomputer { hardware ethernet 00:12:34:56:78:9A; fixed-address 192.168.1.10; }
dnsmasq需要一行:
dhcp-host=00:12:34:56:78:9A,192.168.1.10
其详细信息在联机帮助页中指定。
哪里:
一旦完成,你现在有一个“静态”的IP来做你的端口转发。 要做到这一点,你要像@Avery Payne所说的那样做:
iptables -t nat -I PREROUTING -s ! {internal-network} -d {public-address} -p tcp --dport {port-on-public-address} -j DNAT --to-dest {internal-address}
哪里:
请注意-s,感叹号和{internal-network}之间的空格,确保两边都有空格。
iptables -t nat -I PREROUTING -s ! {internal-network} -d {public-address} -p tcp --dport {port-on-public-address} -j DNAT --to-dest {internal-address}
哪里:
请注意-s,exclaimation标记和{internal-network}之间的空格, 确保两侧都有空格。