hello.com
우분투를 실행하고 일부 HTML 콘텐츠를 제공하는 최소한의 Python 스크립트를 통해 액세스할 수 있는 VPS가 있습니다 . Python 스크립트가 포트에서 수신 대기 중입니다 8069
. hello.com:8069
예상대로 작동하지만 port 에서 Python 스크립트에 액세스해야 합니다 hello.com:80
.
몇 가지 조사를 해본 결과 1000 미만의 포트에서 수신 대기하는 것은 루트에서만 가능하며 보안상의 이유로 옵션이 아닙니다. 내가 찾은 유일한 실제 솔루션은 iptables 포트 리디렉션입니다.
nat 테이블에 REDIRECT 규칙을 설정하려고 시도했지만 방문하면 hello.com:80
여전히 시간 초과 오류가 발생합니다.
여기 내/etc/iptables/rules.v4
*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8069
COMMIT
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -p tcp -m tcp --dport 22-j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 8069 -j ACCEPT
COMMIT
나는 몇 가지 가이드를 따르고 net.ipv4.conf.eth0.forwarding=1
및 를 설정했습니다 net.ipv4.ip_forward=1
. 내가 놓친 것이 있나요?
서버 세부정보:
[email protected]:/# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.3 LTS
Release: 14.04
Codename: trusty
[email protected]:/# iptables -V
iptables v1.4.21
[email protected]:/# ufw version
ufw 0.34~rc-0ubuntu2
Copyright 2008-2012 Canonical Ltd.
[email protected]:/# netstat -i
Kernel Interface table
Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0 1500 0 2067 0 0 0 1879 0 0 0 BMRU
lo 65536 0 637 0 0 0 637 0 0 0 LRU