자기자신에게로의 포트포워딩이라는것.. 말이 안되나요?
좀 바보같은 질문이라고 생각될지도 모르겠습니다만... 잘모르는 초보의
질문이니 양해 해 주십시오.
저는 apache 설정이나 vsftpd 의 포트관련 설정을 건드리지 않기를 원합니다.
해서, 예를 들어 8088 번 포트로 들어온 연결을 자기자신의 80번 포트로
포워딩 해 주면 안될까 라고 생각했습니다. 해서 제가 가진 지식으로
/sbin/iptables -A PREROUTING -t nat -p tcp -i ppp0 --dport 8088 -j DNAT --to 192.168.0.1:80
의 시도를 해 보았으나 절대 불가능했습니다. 이 일은 아예 처음부터 불가능한 시도인가요?
말도안돼.. 라든지 더 삽질해보면 된다.. 라든지 바보냐? 라든지 따위의 답변만으로
도 충분할것 같습니다. 애초에 안되는걸 붙잡고 고생하는것 보다는...
정리해 보면 이렇습니다.
adsl 과 연결된 리눅스박스와 내부네트웍으로 물린 윈도우즈 서버가 있습니다.
(둘다 학습용)
리눅스서버에선 APM 으로 웹서비스를 돌리고 ftp 서버를 운영하기 원합니다.
리눅스서버에서 인터넷 연결공유와 방화벽 역할을 담당하기 원합니다.
내부네트웍에 물린 윈도우즈 서버에선 asp 와 IIS 로 웹서버를 돌리며 역시 ftp
서버를 운영하기 원합니다. 외부에선 아이피 뒤에 포트만 변경하는것으로
두 서버에 모두 접속될 수 있기를 원합니다.
둘다 설정에서 기본포트(80,21) 이외의 포트로 설정변경하는것을 원하지 않습니다.
주소는 정상적으로 변환될꺼 같은데요.주소변환이 이루어진후 192.16
주소는 정상적으로 변환될꺼 같은데요.
주소변환이 이루어진후 192.168.0.1:80 를 차단하는
룰이 있는건 아닌가요?
80번 포트를 listening 하고 있는데몬이 아이피가 192.168.0.1인 컴에
있는게 맞나요?? 리눅스 박스가 게이트웨이로 쓰인다고 했는데
거기에 아파치가 설치되어있는게 맞는지요.
우리 항시 웃고 살아요 ^^
[quote] REDIRECT This target
이걸로 자기자신에게 DNAT을 할 수 있습니다.
언제나 삽질 - http://tisphie.net/typo/
프로그래밍 언어 개발 - http://langdev.net
성공했습니다.답변주신 검객님과 mithrandir 님께 감사드립니다.
성공했습니다.
답변주신 검객님과 mithrandir 님께 감사드립니다.
이걸로 근 3일을 삽질한것 같군요.
http://wiki.kldp.org/wiki.php/LinuxdocSgml/2.4_NAT-TRANS 상세한
자료는 이곳의 글을 참고했습니다.
제가 보아도 필요없거나 중복되는 NAT 룰들이 있는것 같습니다. 혹시 의향이
있으시면 지적해 주시면 감사하겠습니다.
modprobe ipt_MASQUERADE
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
/sbin/iptables -F
/sbin/iptables -t nat -F
/sbin/iptables -t mangle -F
# 기본 정책은 일단 다 받아들이기
/sbin/iptables -P INPUT ACCEPT
/sbin/iptables -P FORWARD ACCEPT
/sbin/iptables -P OUTPUT ACCEPT
# 인터넷 연결 공유
/sbin/iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
# 루프백 장치의 패킷은 모두 허용
/sbin/iptables -A INPUT -j ACCEPT -i lo
# icmp 패킷은 모두 허용
/sbin/iptables -A INPUT -j ACCEPT -p icmp --icmp-type any
# 이미 연결되었거나 상호의존적 패킷들은 무조건 허용
/sbin/iptables -A INPUT -j ACCEPT -m state --state ESTABLISHED,RELATED
# 새롭게 들어오는 특정 포트의 패킷들을 허용
/sbin/iptables -A INPUT -j ACCEPT -m state --state NEW -p tcp --dport 8821
/sbin/iptables -A INPUT -j ACCEPT -m state --state NEW -p tcp --dport 8880
/sbin/iptables -A INPUT -j ACCEPT -m state --state NEW -p tcp --dport 2188
/sbin/iptables -A INPUT -j ACCEPT -m state --state NEW -p tcp --dport 8088
/sbin/iptables -A INPUT -j ACCEPT -m state --state NEW -p tcp --dport 80
/sbin/iptables -A INPUT -j ACCEPT -m state --state NEW -p tcp --dport 21
/sbin/iptables -A INPUT -j ACCEPT -m state --state NEW -p tcp --dport 22
/sbin/iptables -A INPUT -j ACCEPT -m state --state NEW -p tcp --dport 23
/sbin/iptables -A INPUT -j ACCEPT -m state --state NEW -p tcp --dport 4661
/sbin/iptables -A INPUT -j ACCEPT -m state --state NEW -p tcp --dport 4662
/sbin/iptables -A INPUT -j ACCEPT -m state --state NEW -p udp --dport 4672
# 포트포워딩
/sbin/iptables -A PREROUTING -t nat -p tcp -i ppp0 --dport 8088 -j DNAT --to 192.168.0.5:80
/sbin/iptables -A PREROUTING -t nat -p tcp -i ppp0 --dport 2188 -j DNAT --to 192.168.0.5:21
/sbin/iptables -A PREROUTING -t nat -p tcp -i ppp0 --dport 4661 -j DNAT --to 192.168.0.5:4661
/sbin/iptables -A PREROUTING -t nat -p tcp -i ppp0 --dport 4662 -j DNAT --to 192.168.0.5:4662
/sbin/iptables -A PREROUTING -t nat -p udp -i ppp0 --dport 4672 -j DNAT --to 192.168.0.5:4672
/sbin/iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 8880 -j REDIRECT --to-port 80
/sbin/iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 8821 -j REDIRECT --to-port 21
# 나머지는 모두 icmp-host-prohibited 메시지를 돌려보내고 막기
/sbin/iptables -A INPUT -j REJECT --reject-with icmp-host-prohibited
/usr/local/mysql/bin/mysqld_safe &
/usr/local/apache/bin/apachectl start
나는 치과가 싫어요
댓글 달기