Week12
Week 12(2019/12/05)
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 \ -j DNAT --to-destination 172.16.0.2:80
iptables -t nat -A POSTROUTING -o eth1 -s 172.16.0.4 -j MASQUERADE
調整預設編輯器
第一次打開 crontab 會可以選編輯器,但如果要更改的話: sudo vim ~/.bashrc export EDITOR=vim(你熟悉的編輯器)
proxy
sites-avaliable(or sites-enable): location /{ proxy_pass http://127.0.0.1:8080 }
改 lightppd.conf
nginx 設定檔
location /sh {proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://localhost:5000;}
內網的 Python 服務:
import flaskfrom flask import requestapp = flask.Flask(__name__)app.config["DEBUG"] = Truedef get_usr_ip():ip = ''if request.headers.get('X-Forwarded-For'):ip = request.headers.get('X-Forwarded-For').split(',')[0]elif request.headers.get('X-Real-Ip'):ip = request.headers.get('X-Real-Ip')else:ip = request.remote_addrreturn ip@app.route('/sh', methods=['GET'])def sh():print(request.remote_addr)ip = get_usr_ip()if ip == '1.2.3.4':return "<h1>Welcome ADMIN, Your IP is: " + ip + "</h1>"else:return "<h1>You are not ADMIN, Your IP is: " + ip + "</h1> "@app.route('/nsh', methods=['GET'])def nsh():print(request.headers)return "<h1>Your IP is: " + get_usr_ip() + "</h1>"
sudo apt install proftpd