webForumDet fria alternativet

Jag vill kunna hosta spel!

Linux & BSDur Mac OS, Unix, Linux & BSD

3 svar · 282 visningar · startad av Viktor

Medlem sedan aug. 20021 752 inlägg
Frågan#1

Ok, som titteln antyder så vill jag kunna hosta internet spel, idag kan jag bara joina dem.
Jag har Telia ADSL och det är instoppat i en Linux RedHat 7.3 server som delar ut det till alla andra datorer (däribland min windows dator som jag vill hosta spel på) med detta script

echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -d ! 192.168.0.0/24 -j MASQUERADE
iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT
iptables -A FORWARD -d 192.168.0.0/24 -j ACCEPT
iptables -A FORWARD -j DROP

Någon som kan hjälpa mig och säga hur jag ska göra för att kunna hosta? Antar att jag måste göra någon portforward, men hur gör jag??

Tacksam för hjälp :)

/Viktor

Medlem sedan juli 2001183 inlägg
#2

iptables -t nat -A PREROUTING -p tcp --dport 217015 -i eth0 -j DNAT --to-destination 192.168.0.2:27015

Denna rad gör att på port 27015 (Counterstrike standard)
mappas ut till 192.168.0.2
Kanske kan vara till hjälp?
Obs! Jag antar att du har två nätverkskort i datorn och att det kortet som är anslutet till internet är eth0!

Medlem sedan dec. 19995 718 inlägg
#3

27015 är för att ansluta, servern behöver öppna andra portar.. När jag varit ute med hunden och nyktrat till lite skall jag försöka svara lite bättre :)

Medlem sedan aug. 20021 752 inlägg
#4

Efter att ha provat 511 olika script så har jag hittat något som fungerar, lite moddat av mig :)

#!/bin/bash
########################
EXTERNAL_IP=XXX.XXX.XXX.XXX #Din IP adress på internet
INTERNAL_IP=192.168.0.1 #Serverns IP adress
INTERNAL_INTERFACE=eth1 #kort som går på lokala nätverket 
EXTERNAL_INTERFACE=eth0 #kort som går ut på internet
INTERNAL_NETWORK=192.168.0.0/24 #Lokala nätverkets ip adresser

# extract the ips and port
NAT_EXT_PORT=$1 #Port eller port "range" som ska gälla (Detta är Parameter 1 när man startar scriptet
NAT_INT_IP=192.168.0.99 #IP Dit det ska forwardas
NAT_INT_PORT=$1 #Samma som ovan
PROTOCOL=$2 # UDP eller TCP, parameter 2 när man kör scriptet
# write the rules!
#########################
# this is the prerouting dnat
iptables -A PREROUTING -t nat -p $PROTOCOL -d $EXTERNAL_IP --dport $NAT_EXT_PORT -j DNAT --to-destination $NAT_INT_IP:$NAT_IN
T_PORT

# This allows packets from external->internal
iptables -A FORWARD -i $EXTERNAL_INTERFACE -o $INTERNAL_INTERFACE -p $PROTOCOL  -d $NAT_INT_IP --dport $NAT_INT_PORT -m state
 --state NEW,ESTABLISHED,RELATED -j ACCEPT

# This allows packets from internal->external
iptables -A FORWARD -i $INTERNAL_INTERFACE -o $EXTERNAL_INTERFACE -p $PROTOCOL -s $NAT_INT_IP --sport $NAT_INT_PORT -m state
--state NEW,ESTABLISHED,RELATED -j ACCEPT

# This enables access to the 'public' server from the internal network
iptables -t nat -A POSTROUTING -d $NAT_INT_IP -s $INTERNAL_NETWORK -p $PROTOCOL --dport $NAT_INT_PORT -j SNAT --to $INTERNAL_
IP

echo Port Forward: dnat: $EXTERNAL_IP:$NAT_EXT_PORT - $NAT_INT_IP:$NAT_INT_PORT

för att forwarda port 80 på TCP till port 80 på lokal dator 192.168.0.99 skriver man

./portforward.sh 80 tcp

och för att forwarda port 80-100 på UDP skriver man

./portforward.sh 80-100 udp

Hoppas någon mer än jag har gjädje av detta script :)

OBS! Jag vet inte hur säkerheten är med detta script, det är bara gjort för att göra en sak för MIG, forwarda portar :)

/Viktor

133 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)