如何共享互联网连接?

如何共享互联网连接?

图片中的普通网络拓扑:

在此输入图像描述

换句话说:
- “服务器”(例如:Ubuntu 10.04 LTS)通过 pppoe 连接连接到“互联网”

- “服务器”在 AP 模式下使用其无线网卡,因此它可以共享通过无线到客户端的互联网连接(WPA2/AES/63 字符通行证)

- “服务器”有两个以太网端口: 1-用于互联网(使用 pppoe); 2-连接到千兆位交换机,客户端也已连接

- “服务器”(10.0.0.1) 有一个 dhcp 服务器 (10.0.0.0/8),因此客户端自动获取 IP 地址、DNS 服务器地址和网关地址

- “服务器”有一个 dns 服务器(10.0.0.1),因此 dns 查询会被缓存,(更好的“网络速度感觉”)

- 额外:在“服务器”上,有一个 OpenVPN 服务器,因此客户端可以OpenVPN 到服务器(即使不在子网中,例如:从网吧)

- ExtraExtra:“服务器”可以配置为两种模式: 1-仅在通过 OpenVPN 连接后,不向任何客户端转发互联网; 2-互联网转发到任何客户端,并且他们可以选择使用 OpenVPN 来拥有安全/经过身份验证的隧道

问题:我需要如何配置“服务器”才能完成这项工作(永久地,我的意思是服务器重新启动后不需要手动交互,例如:dhcp服务器自动启动,互联网转发正常,openvpn已启动,wifi正在工作,pppoe与 ISP 的连接已建立,DNS 服务器正在工作)?

或者有人有关于此设置的任何具体操作方法吗?或者至少是其中的一部分?

答案1

Gentoo Linux 的 Gentoo Linux 文档中有一个非常好的家庭路由器指南:http://www.gentoo.org/doc/en/home-router-howto.xml

许多步骤都可以调整以与 Ubuntu 一起使用。

答案2

注意:这是来自我自己的非常小的家庭网络,我不是网络专家。我不太明白它为什么有效,如果出现更好的帖子,我会很快删除这篇文章。以防万一需要一些时间,这可能是一个开始,但没有任何有关 VPN 的内容。

我不确定我是否知道你所知道的以及你正在寻找的东西。

我认为您已经建立了 pppoe 连接、dns 服务器、dhcp 并正在运行。

您只需要知道如何进行转发和 VPN 之类的事情?我不知道VPN。

连接pppoe后,在init-process或network-ifup中启动它:

#!/bin/bash
# test if ip-forward is up - if not, enable it:
#
ipf=$(cat /proc/sys/net/ipv4/ip_forward)
if [[ ipf -eq "0" ]] ; then 
    echo "1" > /proc/sys/net/ipv4/ip_forward
fi
#
# forward-masquerade
#
. /etc/ppp/masquerade
#
# start dhcp-server now

可能/etc/ppp/masquerade看起来像这样:

iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
#
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
#
iptables -A FORWARD -p tcp --tcp-flags SYN,RST, SYN -j TCPMSS --clamp-mss-to-pmtu

如果客户端将服务器指定为默认网关,那么他们现在应该可以访问网络。

IPv4 转发也可以通过编辑来启用/etc/sysctl.conf,并且经过测试,这是永久设置的更好主意。

从我文件中的评论来看/etc/sysctl.conf,我猜您可以从那里控制所有内容,但不要问我如何控制。 :)

答案3

如果您的服务器只是充当防火墙,您可以使用以下临时 Linux 发行版之一:ipcop或者ipfire

它们都将在几分钟内将您的服务器转变为高度可配置的防火墙,满足您的所有要求。

OpenVPN 可作为两者的插件使用,但我从未使用过此选项。

答案4

你可以随时查看著名的 Arch Wiki:

https://wiki.archlinux.org/index.php/Internet_Share

相关内容