首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >外部到端口80不能与IPTables一起使用Squid

外部到端口80不能与IPTables一起使用Squid
EN

Server Fault用户
提问于 2012-06-13 15:20:34
回答 1查看 1.2K关注 0票数 0

我无法从由IPtables和Squid配置的局域网外部移植TCP 80。

这些是我的iptable规则:

代码语言:javascript
运行
复制
# RESET
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X

# Pas de filtrage sur l'interface lo
iptables -A INPUT -i lo -j ACCEPT

# Debut des reles de firewall
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -m state --state NEW ! -i eth1 -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT

# LAN VERS le NET
iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT

# J'autorise le port 22, 80
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT

# J'autorise ICMP et IGMP
iptables -A INPUT -p icmp -j ACCEPT
iptables -A INPUT -p igmp -j ACCEPT

# NAT
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

# Squid3
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to 10.32.25.1:3128
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128

iptables -A FORWARD -i eth1 -o eth1 -j REJECT

这是我的squid3.conf的内容

代码语言:javascript
运行
复制
http_port 3128 transparent

# Attention si vous modifiez les valeurs de la ligne suivante : lancez squid3 -f /etc/squid3/squid.conf -z pour reconstruire le cache !
cache_dir ufs /var/spool/squid3 8192 512 512
cache_mem 512MB

# Les journaux
cache_access_log /var/log/squid3/access.log common
cache_log /var/log/squid3/cache.log
cache_store_log /var/log/squid3/store.log
cache_swap_log /var/log/squid3/cache_swap.log
emulate_httpd_log on

# Configuration minimum recommandee

# Bloquer
#acl youtube_domains dstdomain .youtube.com .googlevideo.com .ytimg.com
#http_access deny youtube_domains

acl all src all
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT

# Denition des reseseaux
acl network_home_010032025000 src 10.32.25.0/26

# Les acces ou non
http_access allow network_home_010032025000
http_access deny all

# On renseigne le nom de machine qui fait serveur
visible_hostname home

#   Hidden my domain
append_domain .home.da....

一切都是从网络内部运作的。乌贼在工作,而纳特工作得很好。

但是,当我想从外部访问时,它不适用于端口80。我可以从外部使用SSH登录,但是当我尝试使用端口80 (网站)从外部访问时,Squid给了我一个错误。当我从外面进入我的IP时,乌贼告诉我“访问被拒绝”。

有什么帮助吗?谢谢。

eth0局域网(10.32.25.0/26)

eth1广域网网关(10.30.25.0/26) /(外部IP 69.*)

EN

回答 1

Server Fault用户

发布于 2012-06-13 15:55:54

经过更深入的研究,我发现当我将PREROUTING重定向到端口80时,我需要指定源代码。下面是我在IPTables配置中编辑的内容:

替换这一行

代码语言:javascript
运行
复制
#iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128

...with这条线

代码语言:javascript
运行
复制
iptables -t nat -A PREROUTING -i eth1 -p tcp -s 10.32.25.0/26 --dport 80 -j REDIRECT --to-port 3128

我添加了-s 10.32.25.0/26,所以这个规则只适用于我的内部网络。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/398330

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档