iptables外网服务器端口_iptables 转发所有端口到其他主机

hacker|
68

文章目录:

怎么用IPTABLES配置端口映射?

iptables 端口映射实现步骤如下:一、环境和要实现功能PC1的网络设置如下:eth0 192.168.0.29 内网eth1 219.239.11.22 外网PC2的网络设置则为:192.168.0.21 内网我们要实现的功能就是将PC1的8080端口映射到PC2的80端口,也即访问即可访问到PC2上的WEB服务。二、实现步骤1、首先应该做的是/etc/sysctl.conf配置文件的 net.ipv4.ip_forward = 1 默认是0这样允许iptalbes FORWARD。2、在/etc/rc.d/init.d目录下有iptables 文件,使用格式如下Usage: ./iptables 相当与service iptables 把iptables 服务停止,清除以前的规则,存盘到/etc/rc.d/init.d目录下,运行./iptables stopiptalbes –F iptalbes –X iptalbes –Z ./iptables save 3、重新配置规则iptables -t nat -A PREROUTING -d 219.239.11.22 -p tcp -m tcp .dport 8080 -j DNAT .to-destination 192.168.0.21:80iptables -t nat -A POSTROUTING -d 192.168.0.21 -p tcp -m tcp .dport 80 -j SNAT .to-source 192.168.0.29iptables -A FORWARD -o eth0 -d 192.168.0.21 -p tcp –dport 80 -j ACCEPTiptables -A FORWARD -i eth0 -s 192.168.0.21 -p tcp –sport 80 -j ACCEPTDNAT SNAT 的请参考帮助,这里不再陈述。4、新的规则存盘./iptables save规则存盘后在/etc/sysconfig/iptables这个文件里面,若你对这个文件很熟悉直接修改这里的内容也等于命令行方式输入规则。5、启动iptables 服务./iptables start在/proc/net/ip_conntrack文件里有包的流向,如下面tcp 6 53 TIME_WAIT src=../../221.122.59.2 dst=219.239.11.22 sport=7958 dport=8080 packets=9 bytes=1753src=../../172.18.10.205 dst=172.18.10.212 sport=80 dport=7958 packets=9 bytes=5777 [ASSURED] use=1《linux就该这么学》免费实用的linux学习资料。

iptables 如何把外网端口全部映射到内网一台主机上

网上肯定能找到答案的,只是你没找到或不细心。照我说的做吧,我尽量解释清楚。

/etc/init.d/iptables start 启动iptables

初始化iptables,删除之前的规则,

iptables -F

iptables -X

iptables -Z

iptables -F -t nat

iptables -X -t nat

iptables -Z -t nat

允许SSH进入,要不然等下就连不上去了

iptables -A INPUT -p TCP --dport 22 -j ACCEPT

设置默认出入站的规则

iptables -P INPUT DROP

iptables -P OUTPUT ACCEPT

iptables -P FORWARD ACCEPT

iptables -A INPUT -i lo -j ACCEPT

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

载入相应的模块

modprobe ip_tables

modprobe iptable_nat

modprobe ip_nat_ftp

modprobe ip_conntrack

modprobe ip_conntrack_ftp

配置默认的转发规则

iptables -t nat -P PREROUTING ACCEPT

iptables -t nat -P POSTROUTING ACCEPT

iptables -t nat -P OUTPUT ACCEPT

允许内网连接

iptables -A INPUT -i 内网网卡名(比如eth1) -j ACCEPT

启用转发功能

echo "1" /proc/sys/net/ipv4/ip_forward

配置源NAT,允许内网通过主机nat上网,即所谓的网络共享

iptables -t nat -A POSTROUTING -s 内网网卡名 -o 外网网卡名 -j MASQUERADE

把FTP服务器映射到外网

iptables -t nat -A PREROUTING -p tcp -d 58.222.1.3 --dport 21 -j DNAT --to 192.168.0.211:21

结束,别忘了保存

service iptables save

192.168.0.211的网关应该设成这成主机192.168.0.1。这样就行了。iptables -t nat -A PREROUTING -d XXX.XXX.XXX.XXX -p tcp --dport 8767 -j dnat --to 192.168.1.3:?? OUTPUT 二个 chain 作用。

iptables -A INPUT -i eth1 -j ACCEPT

iptables -A OUTPUT -o eth1 -j ACCEPT

iptables -A FORWARD -i eth1 -j ACCEPT

iptables -A FORWARD -o eth1 -j ACCEPT

IP 伪装

使内部网路的封包经过伪装之后,使用对外的 eth0 网卡当作代表号,对外连线。作法如下∶

###-----------------------------------------------------###

# 启动内部对外转址

###-----------------------------------------------------###

iptables -t nat -A POSTROUTING -o eth0 -s 172.16.0.0/16 -j SNAT --to-source $FW_IP

上述指令意指∶把 172.16.0.0/16 这个网段,伪装成 $FW_IP 出去。

虚拟主机

利用转址、转 port 的方式,使外部网路的封包,可以到达内部网路中的伺服主机,俗称虚拟主机。这种方式可保护伺服主机大部份的 port 不被外界存取,只开放公开服务的通道(如 Web Server port 80),因此安全性甚高。

作法如下∶

###-----------------------------------------------------###

# 启动外部对内部转址

###-----------------------------------------------------###

# 凡对 $FW_IP:80 连线者, 则转址至 172.16.255.2:80

iptables -t nat -A PREROUTING -i eth0 -p tcp -d $FW_IP --dport 80 -j DNAT --to-destination 172.16.255.2:80

开放内部主机可以 telnet 至外部的主机

开放内部网路,可以 telnet 至外部主机。

作法如下∶(预设 policy 为 DROP)

###-----------------------------------------------------###

# open 外部主机 telnet port 23

###-----------------------------------------------------###

iptables -A OUTPUT -o eth0 -p tcp -s $FW_IP --sport 1024:65535 -d any/0 --dport 23 -j ACCEPT

iptables -A INPUT -i eth0 -p tcp ! --syn -s any/0 --sport 23 -d $FW_IP --dport 1024:65535 -j ACCEPT

开放邮包转递通道

开放任意的邮件主机送信包给你的 Mail Server,而你的 Mail Server 也可以送信包过去。

作法如下∶(预设 policy 为 DROP)

###-----------------------------------------------------###

# open SMTP port 25

###-----------------------------------------------------###

# 以下是∶别人可以送信给你

iptables -A INPUT -i eth0 -p tcp -s any/0 --sport 1024:65535 -d $FW_IP --dport 25 -j ACCEPT

iptables -A OUTPUT -o eth0 -p tcp ! --syn -s $FW_IP --sport 25 -d any/0 --dport 1024:65535 -j ACCEPT

# 以下是∶你可以送信给别人

iptables -A OUTPUT -o eth0 -p tcp -s $FW_IP --sport 1024:65535 -d any/0 --dport 25 -j ACCEPT

iptables -A INPUT -i eth0 -p tcp ! --syn -s any/0 --sport 25 -d $FW_IP --dport 1024:65525 -j ACCEPT

开放对外离线下载信件的通道

开放内部网路可以对外部网路的 POP3 server 取信件。

作法如下∶(预设 policy 为 DROP)

###-----------------------------------------------------###

# open 对外部主机的 POP3 port 110

###-----------------------------------------------------###

iptables -A OUTPUT -o eth0 -p tcp -s $FW_IP --sport 1024:65535 -d any/0 --dport 110 -j ACCEPT

iptables -A INPUT -i eth0 -p tcp ! --syn -s any/0 --sport 110 -d $FW_IP --dport 1024:65535 -j ACCEPT

开放观看网页的通道

开放内部网路可以观看外部网路的网站。

作法如下∶(预设 policy 为 DROP)

###-----------------------------------------------------###

# open 对外部主机的 HTTP port 80

###-----------------------------------------------------###

iptables -A OUTPUT -o eth0 -p tcp -s $FW_IP --sport 1024:65535 -d any/0 --dport 80 -j ACCEPT

iptables -A INPUT -i eth0 -p tcp ! --syn -s any/0 --sport 80 -d $FW_IP --dport 1024:65535 -j ACCEPT

开放查询外部网路的 DNS 主机

开放内部网路,可以查询外部网路任何一台 DNS 主机。

作法如下∶(预设 policy 为 DROP)

###-----------------------------------------------------###

# open DNS port 53

###-----------------------------------------------------###

# 第一次会用 udp 封包来查询

iptables -A OUTPUT -o eth0 -p udp -s $FW_IP --sport 1024:65535 -d any/0 --dport 53 -j ACCEPT

iptables -A INPUT -i eth0 -p udp -s any/0 --sport 53 -d $FW_IP --dport 1024:65535 -j ACCEPT

# 若有错误,会改用 tcp 封包来查询

iptables -A OUTPUT -o eth0 -p tcp -s $FW_IP --sport 1024:65535 -d any/0 --dport 53 -j ACCEPT

iptables -A INPUT -i eth0 -p tcp ! --syn -s any/0 --sport 53 -d $FW_IP --dport 1024:65535 -j ACCEPT

# 开放这台主机上的 DNS 和外部的 DNS 主机互动查询∶使用 udp

iptables -A OUTPUT -o eth0 -p udp -s $FW_IP --sport 53 -d any/0 --dport 53 -j ACCEPT

iptables -A INPUT -i eth0 -p udp -s any/0 --sport 53 -d $FW_IP --dport 53 -j ACCEPT

# 开放这台主机上的 DNS 和外部的 DNS 主机互动查询∶使用 tcp

iptables -A OUTPUT -o eth0 -p tcp -s $FW_IP --sport 53 -d any/0 --dport 53 -j ACCEPT

iptables -A INPUT -i eth0 -p tcp ! -y -s any/0 --sport 53 -d $FW_IP --dport 53 -j ACCEPT

开放内部主机可以 ssh 至外部的主机

开放内部网路,可以 ssh 至外部主机。

作法如下∶(预设 policy 为 DROP)

###-----------------------------------------------------###

# open 外部主机 ssh port 22

###-----------------------------------------------------###

iptables -A OUTPUT -o eth0 -p tcp -s $FW_IP --sport 1024:65535 -d any/0 --dport 22 -j ACCEPT

iptables -A INPUT -i eth0 -p tcp ! --syn -s any/0 --sport 22 -d $FW_IP --dport 1024:65535 -j ACCEPT

# 以下是 ssh protocol 比较不同的地方

iptables -A OUTPUT -o eth0 -p tcp -s $FW_IP --sport 1020:1023 -d any/0 --dport 22 -j ACCEPT

iptables -A INPUT -i eth0 -p tcp ! --syn -s any/0 --sport 22 -d $FW_IP --dport 1020:1023 -j ACCEPT

开放内部主机可以 ftp 至外部的主机

开放内部网路,可以 ftp 至外部主机。

作法如下∶(预设 policy 为 DROP)

###-----------------------------------------------------###

# open 对外部主机 ftp port 21

###-----------------------------------------------------###

# 以下是打开命令 channel 21

iptables -A OUTPUT -o eth0 -p tcp -s $FW_IP --sport 1024:65535 -d any/0 --dport 21 -j ACCEPT

iptables -A INPUT -i eth0 -p tcp ! --syn -s any/0 --sport 21 -d $FW_IP --dport 1024:65535 -j ACCEPT

# 以下是打开资料 channel 20

iptables -A INPUT -i eth0 -p tcp -s any/0 --sport 20 -d $FW_IP --dport 1024:65535 -j ACCEPT

iptables -A OUTPUT -o eth0 -p tcp ! --syn -s $FW_IP --sport 1024:65535 -d any/0 --dport 20 -j ACCEPT

# 以下是打开 passive mode FTP 资料通道

iptables -A OUTPUT -o eth0 -p tcp -s $FW_IP --sport 1024:65535 -d any/0 --dport 1024:65535 -j ACCEPT

iptables -A INPUT -i eth0 -p tcp ! --syn -s any/0 --sport 1024:65535 -d $FW_IP --dport 1024:65535 -j ACCEPT

开放 ping

可以对外 ping 任何一台主机。

作法如下∶(预设 policy 为 DROP)

iptables -A OUTPUT -o eth0 -p icmp -s $FW_IP --icmp-type 8 -d any/0 -j ACCEPT

iptables -A INPUT -i eth0 -p icm -s any/0 --icmp-type 0 -d $FW_IP -j ACCEPT 、

;daysprune=-1f=32

如何把iptables外网端口全部映射到内网一台主

利用iptables把外网端口全部映射到内网一台主机上,有具体的操作过程:etc/init.d/iptables start 启动iptables初始化iptables,

利用iptables把外网端口全部映射到内网一台主机上,有具体的操作过程:

etc/init.d/iptables start 启动iptables

初始化iptables,删除之前的规则,

iptables -F

iptables -X

iptables -Z

iptables -F -t nat

iptables -X -t nat

iptables -Z -t nat

允许SSH进入,要不然等下就连不上去了

iptables -A INPUT -p TCP --dport 22 -j ACCEPT

设置默认出入站的规则

iptables -P INPUT DROP

iptables -P OUTPUT ACCEPT

iptables -P FORWARD ACCEPT

iptables -A INPUT -i lo -j ACCEPT

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

载入相应的模块

modprobe ip_tables

modprobe iptable_nat

modprobe ip_nat_ftp

modprobe ip_conntrack

modprobe ip_conntrack_ftp

配置默认的转发规则

iptables -t nat -P PREROUTING ACCEPT

iptables -t nat -P POSTROUTING ACCEPT

iptables -t nat -P OUTPUT ACCEPT

允许内网连接

iptables -A INPUT -i 内网网卡名(比如eth1) -j ACCEPT

启用转发功能

echo "1" /proc/sys/net/ipv4/ip_forward

配置源NAT,允许内网通过主机nat上网,即所谓的网络共享

iptables -t nat -A POSTROUTING -s 内网网卡名 -o 外网网卡名 -j MASQUERADE

把FTP服务器映射到外网

iptables -t nat -A PREROUTING -p tcp -d 58.222.1.3 --dport 21 -j DNAT --to 192.168.0.211:21

结束,别忘了保存

service iptables save

192.168.0.211的网关应该设成这成主机192.168.0.1。这样就行了。iptables -t nat -A PREROUTING -d XXX.XXX.XXX.XXX -p tcp --dport 8767 -j dnat --to 192.168.1.3:?? OUTPUT 二个 chain 作用。

iptables -A INPUT -i eth1 -j ACCEPT

iptables -A OUTPUT -o eth1 -j ACCEPT

iptables -A FORWARD -i eth1 -j ACCEPT

iptables -A FORWARD -o eth1 -j ACCEPT

WEB服务器如何配置iptables设置80端口

修改iptables配置文件,添加访问规则:

(1)、打开文件:vi /etc/sysconfig/iptables

(2)、添加规则(放行80端口):-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

(3)、保存退出:按esc,:wq!

(4)、重启防火墙,使规则生效:service iptables restart

这才是正确的方法

4条大神的评论

  • avatar
    访客 2022-07-14 下午 08:21:15

    p tcp ! --syn -s any/0 --sport 25 -d $FW_IP --dport 1024:65525 -j ACCEPT开放对外离线下载信件的通道开放内部网路可以对外部网路的 POP3 server 取信件。作法如下∶(预设 policy 为 DROP)#

  • avatar
    访客 2022-07-14 下午 05:17:53

    3:?? OUTPUT 二个 chain 作用。iptables -A INPUT -i eth1 -j ACCEPTiptables -A OUTPUT -o eth1 -j ACCEPTiptables -A FORWARD

  • avatar
    访客 2022-07-14 下午 11:19:13

    PT开放查询外部网路的 DNS 主机开放内部网路,可以查询外部网路任何一台 DNS 主机。作法如下∶(预设 policy 为 DROP)###-----------------------------

  • avatar
    访客 2022-07-14 下午 06:43:18

    较不同的地方iptables -A OUTPUT -o eth0 -p tcp -s $FW_IP --sport 1020:1023 -d any/0 --dp

发表评论