Articles of NAT

从局域网内访问DNAT'tednetworking服务器

我有一个小型networking与路由器,它保持连接到Internet,服务器和本地networking中的一些工作站。 服务器意味着从Internet访问,并且在路由器iptables中设置了几个DNAT条目,如下所示: -A PREROUTING -i ppp0 -p tcp -m multiport –dports 22,25,80,443 -j DNAT –to-destination 192.168.2.10 外部数据包通过ppp0接口到达路由器,内部路由器从br-lan去,实际上包括交换机和WLAN适配器。 问题是,虽然外部访问工作正常,但试图通过DNSparsing的外部IP(分配给ppp0 )从LAN内部访问服务器失败。 我能够发明的唯一解决scheme是向路由器的/etc/hosts指向内部IP的静态条目,但由于没有通配符(我至less有三个分配给该系统的顶级域名,的子域),这是相当脆弱和容易失败。 你能提出更好的build议吗? 我只find这个问题 ,这不是很有帮助。 如果这是相关的,路由器用dnsmasq运行OpenWRT 10.03 Kamikaze。

Ping:在Arch GNU / Linux上安装iptables后,sendmsg:操作不允许错误

昨天我买了一台新的电脑作为我的家用服务器,一台HP Proliant Microserver。 安装Arch Linux,内核版本3.2.12。 安装iptables(1.4.12.2 – 当前版本AFAIK)并将net.ipv4.ip_forward项更改为1,并在iptablesconfiguration文件中启用转发(并重新启动)后,系统将无法使用其任何networking接口。 Ping失败 Ping: sendmsg: operation not permitted 如果我完全删除iptables,联网是好的,但我需要共享Internet连接到本地networking。 集成在主板上的eth0 – wan网卡(Broadcom NetXtreme BCM5723)。 eth1 -lan网卡在一个pci-express插槽(Intel 82574L千兆networking) 由于它没有iptables(服务器可以访问互联网,我可以从内部networkingsshlogin),我认为它与iptables有关。 我没有太多的经验与iptables,所以我用这些作为参考(当然彼此分开…): wiki.archlinux.org/index.php/Simple_stateful_firewall#Setting_up_a_NAT_gateway revsys.com/writings/quicktips/nat.html howtoforge.com/nat_iptables 在我之前的服务器上,我使用revsys指南来设置nat,像一个魅力一样工作。 任何人都经历过这样的事情? 我究竟做错了什么?

如何在Amazon EC2 VPC NAT Ami上保留iptablesconfiguration?

我有一个这样的小脚本来configurationiptables: #!/bin/bash PRE_STR="iptables -t nat -A PREROUTING -p tcp -j DNAT" FOR_STR="iptables -A FORWARD -p tcp -j ACCEPT" ##################################### # instances CM="10.0.1.137" MASTER="10.0.1.149" MYSQL="10.0.1.83" REPORTING="10.0.1.85" ##################################### # Clear Iptables iptables -F iptables -t nat -F ##################################### # Forward to enable Internet on private nodes iptables -t nat -A POSTROUTING -j MASQUERADE ##################################### # Port forwarding […]

将来自TUN设备(C ++后端)的stream量转发到默认网关

以下问题只是我遇到问题的一个更大的解决scheme。 所有其他元素似乎工作到目前为止,所以我会尝试描述我有问题的小片。 我有一台linux机器, tun0 (隧道接口)和eth0 (女巫是我的默认网关)。 目标:我的目标是接收来自tun0的数据包,并将它们转发到默认网关。 所以实际上非常简单的NAT情况下,我想与tun0共享互联网,它伪造了物理接口。 Tun已经创build使用 sudo openvpn –mktun –dev tun0 –user USER sudo ip addr add 10.2.0.1/24 dev tun0 sudo ip link set tun0 up 所以我已经启动并运行了,我可以ping通它等等。另外,我有C ++应用程序,它连接到这个TUN设备,可以读取和写入它。 (fti:这是我遵循的教程: http : //backreference.org/2010/03/26/tuntap-interface-tutorial/ ) 我把一些正确的ICMP(ping)请求转到8.8.8.8到C ++的字节数组中。 现在,使用我的程序,我把它写到tun0设备上。 有ICMP请求 源(10.2.0.10) – 所以内核知道路由回(相同的子网) 目的地(8.8.8.8) – Google的DNS 正确的校验和等(在Wireshark / TShark中它正确地显示在tun0上) 那么,我有以下路线: iptables -F # flush iptables […]

iptables:带有伪装的端口转发不起作用

我的端口有点问题 NAT似乎工作正常,一个端口转发似乎工作(udp端口7887到机器192.168.1.100)。 但不是其他人。 我怀疑这个问题,但是eth1和eth2位于双端口网卡上。 WAN互联网访问提供了dhcp,所以如果可能的话,解决scheme应该是WAN_IP独立的。 /opt/firewall.sh #!/bin/sh WAN="eth1" LAN="eth2" #ifconfig $LAN up #ifconfig $LAN 192.168.1.1 netmask 255.255.255.0 echo 1 > /proc/sys/net/ipv4/ip_forward sysctl -w net.ipv4.ip_forward=1 iptables -F iptables -t nat -F iptables -t mangle -F iptables -X iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP iptables -A INPUT -i lo -j ACCEPT […]

AWS VPC + IPtables + NAT:端口转发不起作用

昨天我在这里发了一个问题,但是我觉得还不够清楚。 顺便说一句,这个问题不是重复的。 我有AWS VPC安装如下。 目标/问题 :从互联网SSH到服务器A. 它不工作。 服务器A是在私人子网,因此我想启用在我的NAT实例上的iptables NATing,以便我可以ssh到SErver A直接从互联网 我正在关注这个和这个 我在NAT实例上运行下面的命令: NAT# iptables -t nat -A PREROUTING -p tcp –dport 2222 -j DNAT –to-destination 10.0.1.243:22 在NAT实例上启用IP转发: NAT# sysctl -p net.ipv4.ip_forward = 1 MASQUERADE正在NAT实例上运行: NAT# iptables -t nat -vnL POSTROUTING Chain POSTROUTING (policy ACCEPT 6 packets, 312 bytes) pkts bytes target prot opt in out […]

如何使用dnsmasqconfiguration静态通配符子域

我有一个networking在NAT几台机器后面。 这些机器是: 路由器 – NAT,dnsmasq,转发 – 直接连接到inet 服务器 – 运行ssh,www和其他一些东西 客户端 – 在服务器上做的东西 我也有mydomain.com。 server.mydomain.com指向我的连接的IP(单个IP),这是路由器,将端口转发到服务器。 服务器,有一个httpd运行,它基于虚拟主机服务于不同的站点。 所以我有site1.server.mydomain.com,site2 .. 问题是,所有的stream量都通过路由器,当我检查日志时,我总是看到路由器的IP地址(所以很难看到谁用while(1)来运行脚本)。 我只是ServerAlias site1.server.local,但大多数网站有一个根URL保存在其他url的顶部build立,所以我不能这样做。 对我来说,解决办法是告诉dnsmasq以某种方式回答* .mydomain.com与服务器的IP。 这是可能的吗?

iptables NAT不存在

今天我主机系统上的iptables nat停止工作,我不知道发生了什么! (这很糟糕,我知道) 所有命令都以root用户身份执行。 如果我运行$ iptables -t nat -L我得到以下错误信息: $ iptables -t nat -L iptables v1.4.7: can't initialize iptables table `nat': Table does not exist (do you need to insmod?) Perhaps iptables or your kernel needs to be upgraded. 没有更多可用的更新。 我也重新启动了几个较旧的内核的服务器,但我总是得到相同的错误信息。 我的服务器在最新版本的官方OpenVZ内核的CentOS上运行。 $ uname -r 2.6.32-042stab088.4 还testing了内核版本:2.6.32-042stab85.20和2.6.32-042stab084.26 grub.conf中的第一个内核: title OpenVZ (2.6.32-042stab088.4) root (hd0,1) kernel /vmlinuz-2.6.32-042stab088.4 […]

公共静态ip为stream浪箱子

我有1个以太网卡和2个公共静态IP(188.120.245.4和188.120.244.5)的服务器(Debian Squeeze)。 我想要的:通过静态IP(188.120.244.5)通过访问来设置虚拟盒子(Ubuntu)。 我正在尝试: config.vm.forward_port – 好主意:设置主机上的接口“eth1:1”为188.120.244.5,并添加到stream浪文件“config.vm.forward_port = hmm ..?” config.vm.network:hostonly,“188.120.244.5” – 不起作用。 在主机上用ip“188.120.244.1”创build了新的接口。 当然188.120.244.1 IP不是我的,我不能通过这个IP访问我的服务器。 config.vm.network:桥接 – 我很困惑这是如何工作:) 我现在有什么:不工作的configuration。 Debian-host-machine# cat Vagrantfile Vagrant::Config.run do |config| config.vm.define :gitlab do |box_config| box_config.vm.box = "ubuntu" box_config.vm.host_name = "ubuntu" box_config.vm.network :bridged box_config.vm.network :hostonly, "188.120.244.5", :auto_config => false end end Debian-host-machine# ifconfig eth1 Link encap:Ethernet HWaddr 00:15:17:69:71:bb inet addr:188.120.245.4 […]

IPv6没有NAT,但是一个ISP变化呢?

我还没有在家庭电脑上使用GoGoNet之类的4to6隧道技术以外的IPv6工作。 我已经阅读了它如何以一般方式工作。 没有NAT(或build议),每个客户端使用公共ipv6地址,我明白继续使用防火墙。 根据我的理解,如果没有使用NAT,UAL和ARIN给你自己的全球范围,这将意味着您的LAN上的所有系统上的ipv6地址将来自您的isp提供的范围。 如果您更改ISP,会发生什么情况? 这是否意味着你必须改变你的整个地址范围? 在典型的ipv4 windows商店中,我可能会遇到这样的情况: Site1 Lan IPs: 192.168.1.0/24 Site2 Lan IPs: 10.0.0.0/24 Site1 Public IP: 11.12.13.1/29 (11.12.13.1 – 11.12.13.5 usable) Site2 Public IP: 20.30.40.1/29 (20.30.40.1 – 20.30.40.5 usable) Site-to-site VPN via firewalls Site1: Lan IP, Public IP:Port Hardware firewall/router – 192.168.1.1, 11.12.13.1 Windows AD DC server (AD DNS server) – 192.168.1.10 […]